AMD的Mantle API證明了優化底層硬體可以改善遊戲渲染過程,提升遊戲性能。微軟推出的DirectX 12(以下簡稱DX12)規範中也把底層優化作為重要功能,此前演示的Demo中DX12性能比DX11提升了70%。DX12是如何做得到的呢?從曝光的消息來看,DX12雖然在渲染流程上跟DX11相似,但每個線程的渲染時間從9ms降低到了4ms,明顯改善了性能。
從上面的介紹來看,D3D11渲染的過程要經過App Logic(應用邏輯層)、D3D11(D3D運行時)、UMD(用戶模型驅動)、DXGK(DXGK層)、KMD(內核模式驅動)直至Present完成渲染過程。每個階段都要花費一點時間,其中D3D11、UMD及KMD過程耗時最多。
而在DX12中,大部分渲染流程還是要走的,不過D3D運行時、UMD用時大幅減少,甚至不需要KMD過程了(也可能是渲染用時太少看不出來),大大減少了渲染時間。
DX11完成上述過程總計用時9ms左右,而DX12用時只有4ms,渲染速度比DX11快了一倍。
當然,這個渲染速度提升一倍並不意味著遊戲的性能就能提升一倍,畢竟不是每個場景中都存在瓶頸,但DX12在底層硬體上的優化確實非常有利於開發者提升效率,提升性能。
來源:http://www.expreview.com/37752.html
從上面的介紹來看,D3D11渲染的過程要經過App Logic(應用邏輯層)、D3D11(D3D運行時)、UMD(用戶模型驅動)、DXGK(DXGK層)、KMD(內核模式驅動)直至Present完成渲染過程。每個階段都要花費一點時間,其中D3D11、UMD及KMD過程耗時最多。
而在DX12中,大部分渲染流程還是要走的,不過D3D運行時、UMD用時大幅減少,甚至不需要KMD過程了(也可能是渲染用時太少看不出來),大大減少了渲染時間。
DX11完成上述過程總計用時9ms左右,而DX12用時只有4ms,渲染速度比DX11快了一倍。
當然,這個渲染速度提升一倍並不意味著遊戲的性能就能提升一倍,畢竟不是每個場景中都存在瓶頸,但DX12在底層硬體上的優化確實非常有利於開發者提升效率,提升性能。
來源:http://www.expreview.com/37752.html