AMD大爆發(fā) Vega GPU架構(gòu)技術(shù)要點總結(jié)
幾何渲染引擎:更靈活、更快速
本文引用地址:http://butianyuan.cn/article/201703/345466.htm幾何計算是3D渲染的基礎(chǔ),在AMD的GPU中,幾何渲染還是由固定的幾何著色引擎來完成。專屬硬件的優(yōu)點是運行效率高、速度快,缺點是硬件處理缺乏靈活性,每一次幾何計算都必須機械化地執(zhí)行,而很難進行優(yōu)化。
我們舉一個例子,右邊兩張圖片分別是PC游戲《殺出重圍:人類分裂》中的巨像之城(Golem City)的場景和該場景的幾何線框圖。AMD介紹說,這幅場景有多達2.2億個多邊形需要進行計算,但最終輸出的畫面其實只有 0.02 億個多邊形,也就是大多數(shù)的多邊形,其實都是后臺計算、不需要被顯示出來,但它們耗費了超過98%的計算資源。
《殺出重圍:人類分裂》游戲中的場景
《殺出重圍:人類分裂》游戲場景對應(yīng)的幾何線框圖
有鑒于此,越來越多的開發(fā)者拋棄了傳統(tǒng)的幾何單元,改用靈活的計算著色器來進行幾何處理—通過對算法的優(yōu)化,可以將大量的中間計算省略,達到節(jié)省硬件資源、提高游戲性能的目的。
AMD在Vega架構(gòu)中,也引入了這套機制——Vega GPU的幾何流水線中新增了名為 Primitive Shader(圖元著色器)的新型計算單元,這個新的著色器可以舍棄大量的無效幾何計算,從而精簡、快速地完成任務(wù)。AMD的最終目標是徹底拋棄傳統(tǒng)的幾何單元、以這套靈活的著色器來代替它。
此外,為了持續(xù)提升幾何處理性能,AMD還引入了名為“Intelligent Workgroup Dostributor(智能工作組分發(fā)器)”的計算單元,它可以支持更多的著色器引擎,并且可以根據(jù)負載情況智能地在各引擎間分配幾何計算任務(wù)。而當前AMD的GCN架構(gòu)最多只支持4個幾何著色引擎,沒有增強的潛力。而即便在同樣4個著色引擎的情況下,Vega GPU每周期也能處理11個多邊形、相當于現(xiàn)有產(chǎn)品的兩倍。
Vega中的智能工作組分發(fā)器,允許支持更多的幾何引擎。
Vega的幾何效率提升了兩倍
下一代像素引擎
Vega的像素著色引擎同樣進行大量的優(yōu)化,AMD將它稱為Draw-streaming binning rasterizer(簡稱 DSBR,渲染流分倉光柵器)。
DSBR引擎在執(zhí)行效率上獲得質(zhì)的飛躍,我們知道,復(fù)雜的3D畫面,需要進行大量的渲染,而其中絕大多數(shù)的工作都是位于后臺,真正展現(xiàn)出最終畫面的有效渲染只占據(jù)極小的部分—這與我們前面說的幾何渲染類似。之前AMD GPU對此并沒有很好的優(yōu)化,都是直接進入到渲染環(huán)節(jié)。而DSBR引擎則對工作流程作了優(yōu)化:它會先在一個高速緩存中對3D場景給定的對象預(yù)先處理,然后GPU清空掉這個緩存、再拾取起其余的數(shù)據(jù)。而DSBR就可以讓GPU抓取出有效渲染和非可視像素的無效渲染,并將無效的渲染操作省略掉,只專注于可視部分的像素渲染。
DSBR引擎同樣通過優(yōu)化、顯著提升執(zhí)行效率
換言之,DSBR并不直接提升硬件的能力,而是通過削減無效渲染、減輕硬件負擔,同樣達到提升像素渲染性能的效果。這套機制同時也意味著,節(jié)省功耗、降低發(fā)熱量,具備更高的性能提升潛力。
為配合DSBR的運作,AMD對Vega的緩存架構(gòu)進行重大改進,GPU的后端單元可以直接訪問到片上的二級高速緩存,數(shù)據(jù)的訪問、操作動作直接在此實現(xiàn)。而傳統(tǒng)的GPU中,紋理和像素的內(nèi)存讀取操作并不一致,比如渲染紋理操作時,數(shù)據(jù)要先寫到顯存中、然后再被讀取到紋理緩存里,也就是每一次數(shù)據(jù)都要來回搬動、效率低下。而如果開發(fā)者要執(zhí)行紋理、像素同步渲染時,程序指令與硬件工作流程就會出現(xiàn)沖突,增加了編程的難度。顯然,Vega的改進要渲染流程簡單了許多,大量的數(shù)據(jù)訪問都可以在片內(nèi)二級緩存高效率地完成,對性能的增益顯而易見。
Vega的后端渲染單元可直接訪問二級緩存
不過,DSBR只是Vega像素渲染的一個可選項,實際的任務(wù)還是根據(jù)游戲的情況來完成,有的游戲還是對傳統(tǒng)架構(gòu)進行編程,那DSBR暫時還無用武之地。但對支持該特性的新游戲而言,DSBR可以帶來顯著的效能提升。
評論