《图解UE4渲染体系》Part 1中如何实现多线程渲染?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1097个文字,预计阅读时间需要5分钟。
《回溯书《Part 0 引擎基础》中提到,我们粗略地知道UE4是以哪些类来管理游戏场景中的数据的。但这仅仅是我们开始探索UE4渲染体系的一小步。本回主要介绍UE4渲染体系中比较宏观的视角。”
上回书《Part 0 引擎基础》说到,我们粗略地知道UE4是以哪些类来管理一个游戏场景里的数据的,但这仅仅是我们开始探索UE4渲染体系的一小步。
本回主要介绍UE4渲染体系中比较宏观顶层的一部分——多线程渲染,具体的多线程中,又分为:
- 游戏线程(GameThread)
- 渲染线程(RenderThread)
- RHI线程(Render Hardware Interface Thread)
用来描述“渲染”的最基础的理论就是像图上的那样,CPU调用图形API提供的DrawCall命令(也叫绘制指令),在命令中说明需要渲染的数据、属性等等,然后CPU等待GPU返回渲染结果,完成渲染。对于那些渲染频率不高的场景,这种方式并没有什么问题,但在游戏这种需要实时性渲染的高频率场景下,问题就显现出来了。
游戏引擎完成渲染不只有提交DrawCall这一个任务,除了这个以外,CPU要花费非常多的时间在处理游戏逻辑运算和准备渲染数据上,比如处理用户的输入、执行游戏脚本、更新物理和动画、可见性剔除等等等等。
本文共计1097个文字,预计阅读时间需要5分钟。
《回溯书《Part 0 引擎基础》中提到,我们粗略地知道UE4是以哪些类来管理游戏场景中的数据的。但这仅仅是我们开始探索UE4渲染体系的一小步。本回主要介绍UE4渲染体系中比较宏观的视角。”
上回书《Part 0 引擎基础》说到,我们粗略地知道UE4是以哪些类来管理一个游戏场景里的数据的,但这仅仅是我们开始探索UE4渲染体系的一小步。
本回主要介绍UE4渲染体系中比较宏观顶层的一部分——多线程渲染,具体的多线程中,又分为:
- 游戏线程(GameThread)
- 渲染线程(RenderThread)
- RHI线程(Render Hardware Interface Thread)
用来描述“渲染”的最基础的理论就是像图上的那样,CPU调用图形API提供的DrawCall命令(也叫绘制指令),在命令中说明需要渲染的数据、属性等等,然后CPU等待GPU返回渲染结果,完成渲染。对于那些渲染频率不高的场景,这种方式并没有什么问题,但在游戏这种需要实时性渲染的高频率场景下,问题就显现出来了。
游戏引擎完成渲染不只有提交DrawCall这一个任务,除了这个以外,CPU要花费非常多的时间在处理游戏逻辑运算和准备渲染数据上,比如处理用户的输入、执行游戏脚本、更新物理和动画、可见性剔除等等等等。

