本节主要讲一下虚幻渲染之前,都发生了生么。
渲染流程:
首先,虚幻的渲染由三个线程共同完成。分别是CPU线程,DRAW线程,和GPU线程。
- CPU线程:顾名思义,运行在CPU上,用于计算游戏中的所有逻辑,比如每个游戏对象的模型位置,动画计算结果(位置)。简要来说,就是计算出所有模型的位置信息,供渲染线程使用。
- DRAW线程:该线程大部分逻辑运行在CPU上,部分逻辑运行在GPU上,这一个线程的主要功能是决定场景中的哪些部分最终会参与渲染。
- GPU线程:实际渲染发生的地方。
这三个线程按照CPU->DRAW->GPU的顺序执行,请观察下图:
假如我们有4帧画面要渲染,分别是FrameA、FrameB、FrameC、FrameD。最下方是时间轴(以毫秒为单位)
为了将第一张画面(FrameA)呈现在我们面前,首先就是Cpu在0毫秒的时候处理FrameA,然后紧接着在第33毫秒Draw线程再对经过Cpu线程处理后的FrameA进行再处理(遮挡剔除,后面会讲),这时候Cpu线程在33毫秒处开始处理FrameB。之后在第66毫秒Gpu线程开始实际渲染FrameA。与此同时ÿ