AMD的Mantle API证明了优化底层硬件可以改善游戏渲染过程,提升游戏性能。微软推出的DirectX 12(以下简称DX12)规范也将底层优化作为重要功能,此前演示中DX12的性能比DX11高出70%。DX12是怎么做到的?曝光消息显示,虽然DX12在渲染过程上与DX11相似,但每个线程的渲染时间从9ms减少到了4ms,性能明显提升。
从上面的介绍来看,D3D11的渲染过程要经过App Logic(应用逻辑层)、D3D11(D3D运行时)、UMD(用户模型驱动)、DXGK(DXGK层)、KMD(内核模式驱动)直到Prese开发者_如何学编程nt完成渲染过程。每个阶段都需要一点时间,其中D3D11、UMD和KMD流程花费的时间最多。
但是在DX12中,大部分渲染过程还是要走的,但是D3D和UMD的运行时间大大减少,甚至不需要KMD过程(或者可能是渲染时间太少看不到),大大减少了渲染时间。
DX11完成上述过程大约需要9ms,而DX12只需要4ms,渲染速度是DX11的两倍。
当然,渲染速度翻倍并不意味着游戏性能可以翻倍。毕竟不是每个场景都有瓶颈,但是DX12在底层硬件上的优化确实有利于开发者提高效率和性能。
精彩评论