自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 【学习笔记】UE的TaskGraph系统

在进行多线程编程时,往往会需要处理多个有依赖关系的任务的同步。对于游戏引擎这样的庞然巨物,拥有一个良好设计来处理任务的依赖,对于提高程序性能和引擎可维护性是很有必要的。如果没有TaskGraph,我们的planA是利用条件变量和锁等机制实现同步,随着代码膨胀难以维护且性能不好;planB是手动对DAG图进行拓扑排序构建合适的任务队列,对于随时动态变化的各种任务来说还是不够好,因为每个任务的执行时间都是不确定的,没法保证当前顺序是性能最好的。

2025-04-03 22:06:16 1717

原创 【学习笔记】多线程编程相关基础知识

最初,为了加快进程的执行速度,实现进程的并发,人们发明了线程。在这之后,人类还是既怠惰又贪婪,要求程序有很快的响应时间以提高体验,因此让操作系统使用时间片轮转+多级反馈队列调度算法等抢占式算法,来对线程进行CPU调度。在学校写的程序,由于仅关注实现而没有追求性能,一般都是单线程程序;而一旦进入多线程的领域,这种算法抢占式的特点,使得多个线程之间的执行顺序难以预测,可以说是随机的。

2025-03-27 20:20:11 1474

原创 【学习笔记】现代游戏gameplay架构层面中的ECS架构的理解——受守望先锋GDC2017演讲的启发

笔者最近才了解到ECS架构,就像踏足了一个未知的深海,于此记录自己探索的收获,如有错误请大方指出。ECS,也就是Entity-Component-System架构,其中Entity不存储任何数据和行为,仅作为标识符,《守望先锋》中使用一个32位数来标识每一个Entity;Component仅存储纯数据,没有任何行为,对于每个Entity,它拥有了某些数据就代表着它拥有了能够表示某些行为的功能;System没有任何数据,仅读写不同的Component组成的元组(Tuple)来实现对应的功能。

2025-03-23 19:57:24 1757 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除