上回书《Part 0 引擎基础》说到,我们粗略地知道UE4是以哪些类来管理一个游戏场景里的数据的,但这仅仅是我们开始探索UE4渲染体系的一小步。
本回主要介绍UE4渲染体系中比较宏观顶层的一部分——多线程渲染,具体的多线程中,又分为:
- 游戏线程(GameThread)
- 渲染线程(RenderThread)
- RHI线程(Render Hardware Interface Thread)

为什么是多线程?

用来描述“渲染”的最基础的理论就是像图上的那样,CPU调用图形API提供的DrawCall命令(也叫绘制指令),在命令中说明需要渲染的数据、属性等等,然后CPU等待GPU返回渲染结果,完成渲染。对于那些渲染频率不高的场景,这种方式并没有什么问题,但在游戏这种需要实时性渲染的高频率场景下,问题就显现出来了。
游戏引擎完成渲染不只有提交DrawCall这一个任务,除了这个以外,CPU要花费非常多的时间在处理游戏逻辑运算和准备渲染数据上,比如处理用户的输入、执行游戏脚本、更新物理和动画、可见性剔

本文介绍了UE4渲染体系中的多线程设计,包括GameThread、RenderThread和RHI线程。多线程渲染旨在优化游戏性能,让GameThread专注于游戏逻辑,RenderThread处理渲染,而RHI线程负责跨平台图形API的适配和并行DrawCall提交。这一设计适应了现代多核CPU和高性能需求,提高了渲染效率。

610

被折叠的 条评论
为什么被折叠?



