UE4 RHIThread
Contents
´ RHIThread并不是所有平台都需要的。默认仅给PC平台开启。
RHI线程的话,做三件事情:
- DrawCommand to GPU Command, 把DrawCommand转化为渲染API的GPU Command
- GPU Command submit, 提交DrawCall。
- Flip GPU,等待Swapchain发生。
我们的输入和最后的呈现其实会有6帧的延迟
- 主线程处理
- 渲染线程处理
- RHI等提交给GPU
- GPU垂直同步
- 双重缓冲交换
为什么需要RHI线程
在某些平台上比如d3d11,提交渲染命令不支持并行化。为了解决这个问题,提交渲染命令是最初是放到渲染线程的,后来为了加快渲染线程的计算,把提交渲染命令单独抽到了一个线程,这个线程就是RHI线程。
我们可以看到,开启RHI线程后将会变的非常平滑