決戰性能之巔!NV雙芯旗艦GTX590評測
就像大家通過數碼相機拍完照片后需要經過PS處理一樣,3D模型在GPU內部渲染完成后也會經過后端處理才會顯示在屏幕上,這一過程叫做“Render Post-Processing”(渲染后端處理),常見的如“邊緣偵測與抗鋸齒、各向異性過濾、景深、運動模糊、色彩映射、濾波、銳化”等一些列特效都是在這一階段加上去的。
8.5 DirectCompute11的妙用:電影級景深
GPU有專門負責渲染后端處理的模塊,叫做“Render Back-Ends”(ROPs),也就是通常所說的光柵單元,這個模塊位于流處理器與顯存控制器之間,也就是說它渲染完畢后將會把數據直接輸出到顯存與屏幕。
在DX10時代,光柵單元的任務量是很重的,如果大量使用后端處理特效的話,很容易出現像素著色器等待光柵單元的情況出現。所以很多DX10游戲的GPU負載還不如DX9C游戲就不足為怪了。而DX11則通過一個巧妙的方式降低了光柵單元的負擔,確保流處理器和光柵單元能夠協同工作,原理依然是使用計算著色器。
各種后端處理特效的最終效果雖然千差萬別,但它們大多數都有一個共同的特點,那就是需要對比相鄰位置像素或者相鄰幀之間像素的差別,然后進行對比與合成。這一拾取動作其實只用一個函數就能完成——Gather4,它使得計算著色器能夠越權進行數據采集動作,幫助紋理單元和光柵單元的減輕負擔,而且計算著色器的數據采集速度是專用單元的4倍!
DX10版景深特效的實現方法
具體一點例子,比如DX10級別的運動模糊和景深特效,都是通過幾何著色來實現的,通過幾何著色控制運動物體的坐標變換與像素監控,或將深度帖圖中的紋理信息按照距離拆分到緩沖,然后分為幾個不同的視角進行渲染,最后合成完整的圖像,實現比DX9C更精確、更流暢的特效。畫面效果是更出色了,但幾何著色并沒有幫助光柵單元做任何事情,數據處理反而翻了好幾倍,導致性能下降比較嚴重。
而通過使用DirectCompute 11中的新指令,后端處理特效可以最大限度的降低顯存讀寫次數、大幅降低光柵單元的負擔,當然流處理器將會承擔更多的任務(幾何著色、計算著色、像素著色、外殼著色和域著色),但依然能夠保持相對的平衡,不會出現DX10當中GPU資源負載不均的情況。
DX11新作《地鐵2033》當中使用DirectCompute11實現景深效果
《地鐵2033》對比:點擊放大仔細觀賞人物背景的差別
剛剛發布的DX11大作《地鐵2033》就使用了DX11級別的景深效果,清晰和虛化合理分配、主次分明,再搭配Tessellation技術的輔助,幾乎接近與電影的拍攝效果,看起來有種賞心悅目的感覺。但該游戲由于使用了太多尖端圖形技術,所以要求非常苛刻。
關注我們



