去年10月,ATI正式發布了X1000系列顯卡,最新的R580+核心以及RV560/570核心都是基于X1000架構,完全按照DirectX 9.0c的規格設計。最高端的R580+除了擁有強大的像素處理能力之外,還集成了眾多ATI引以為傲的先進技術和功能。
ATI在X1000系列的Pixel Shader Engine首次引入了Ultra-Threading Dispatch Processor(超級線程分派處理器),超級線程分派處理器具備調度/控制邏輯,R520最多能夠同時處理512個并行的線程。在當今顯卡架構設計中,多線程思想是相當重要的。多線程能夠使得GPU的象素處理核心在等待請求的同時,還能夠處理其他的請求。配合SM3.0的加速流控制,消滅紋理等待和減少渲染等待,大大提高性能。當然RadeonX1900系列(R580)也支持SM3.0和Ultra-Threading Dispatch Processor(超級線程分派處理器)。
● 48個像素渲染單元
X1000系列的第一代R520核心僅擁有16條像素渲染管線,而對手NVIDIA的G70為24條,這使得R520在與G70的競爭當中處于不利局面,不得不依靠高頻率來彌補不足。而ATI的R580/R580+的像素渲染單元一舉提升至48個的境界,足足是R520的三倍,讓人刮目相看!
不過也有人對ATI的這種架構表示質疑,R580/R580+雖然擁有48個像素單元,但紋理單元依然保持16個不變,按傳統意義上的說法R580+還是只有16條管線,只不過架構上變成了16×3=48個像素渲染單元。
R580已經發布了半年有余,時間證明了ATI這種像素:紋理=3:1的架構對2006年新游戲的適應性非常好,X1900XTX除了在老游戲中表現不佳之外,在絕大多數主流游戲中都擊敗了擁有完整傳統意義上24條管線的7900GTX,而且優勢比較明顯!
當然像素處理引擎的渲染指令包括從顯存中拾取數據的紋理操作和完成數學變化的渲染處理操作。實際上這兩種渲染指令的使用比例決定者圖形芯片像素處理引擎的組成。ATI認為大部分的像素處理都是雙線過濾操作或者從整數紋理中進行點取樣,并沒有多少紋理查找的過程。紋理操作過多依賴于顯存容量跟帶寬這些外界因素,而算術處理操作則不同,它的處理能力大多數場合取決于像素處理器集成的像素渲染單元的數量。理論上通過相應的約束參數紋理操作生成像素算術紋理,可以降低紋理操作對外界因素的依賴,減少對顯存容量和帶寬的要求。
因此ATI下半年即將推出的所有顯卡——X1950XTX、X1950Pro、X1650XT、X1650Pro、X1300XT,都將全面貫徹像素:紋理=3:1的架構,以滿足當前和未來新游戲的需要。
當然,ATI并非是忽視紋理單元的性能,實際上3D渲染紋理操作過多的依賴于顯存容量和速度,因此ATI通過改進顯存控制器、采用高速GDDR4顯存的方式增強了紋理渲染能力,并且集成了后面將要提到的Fetch4紋理樣本過濾器,提升了紋理渲染效率!
今后的游戲極其依賴于顯卡的像素處理能力,像素渲染單元也被賦予了更多額外的處理和運算,因此除了給GPU設計更多的像素單元之外,如何高效能的分配像素處理操作,是提高顯卡性能的關鍵所在!
● 超線程引擎支配48個PSU
R580+的像素渲染引擎當中除了48個像素渲染單元之外,最核心的部分是一個叫做“Ultra-Thearding Dispatch Processor”(超線程調度引擎)的模塊,這一部分的作用就是將線程分派給下面的像素渲染單元。而且可以看出Ultra-Thearding能夠統一調度48個像素單元和16個紋理單元之間的協同工作。
傳統的像素渲染架構(Pixel Shader Engine)設計造成大量的延遲及運算周期的浪費,這主要體現在動態分支(Dynamic Branching)的執行能力上,這是Pixel Shader 3.0中常用的指令,令Pixel Shader程序可以執行不同的分支或是根據運算而循環執行。
R580/R580+核心進一步優化了動態分支的運算。Ultra-Threaded Pixel Shader Engine能把一個龐大的像素渲染操作分拆為大量較小的執行簇,然后平衡地分給各個像素渲染單元,在同樣的Shader程序下其執行簇被分割成細少的Pixel Blocks,因此為排除了部份單元需要等待其它單元完成的結果而造成閑置,減少了不必要的延遲并提供更快的執行效率。
動態分支被認為是Pixel Shader 3.0的重要新特性,可以讓Pixel Shader根據計算出來的數值來跑不同的分支或者循環。如果正確使用的話,動態分支能顯著地提高性能。例如在使用陰影貼圖的時候,如果要對陰影作邊緣柔和取樣,使用動態分支可以在遇到不需要作取樣的像素例如的時候就跳過去,以節省大量的Pixel Shader計算資源。
● 獨一無二的HDR+AA技術
DirectX 9.0c的主要規格就是升級到了Pixel Shader 3.0和Shader Model 3.0,前面提到ATI嚴格按照PS3.0架構設計,動態分支執行力大幅提高,在新版DX9C游戲中的表現非常出色。而SM3.0所帶來的HDR(高動態范圍光照)技術則讓人又愛又恨,因為所有的游戲在打開HDR之后就無法開啟AA(全屏抗鋸齒)——這是在NVIDIA的顯卡之上!
ATI在X1000架構設計之初就意識到了HDR的重要性,也考慮到了僅有HDR難以滿足追求完美畫質游戲玩家的要求。于是在X1000系列的高中低端所有GPU都集成了特殊的緩沖區域,通過驅動或者游戲引擎調用這部分緩沖區同時開啟HDR和AA。
但由于是來自API的限制,程序設計者仍必須對游戲引擎進行改進,重新指定緩沖區域才能實現HDR+AA效果。由于絕大多數游戲都是按照FP16 HDR模式設計,支持SM3.0的A卡開啟HDR后還是會占用FSAA緩沖區,因此能夠同時支持FP16 HDR+FSAA的游戲數量還比較少,有些需要打補丁或者安裝特殊驅動才能開啟,這也算是不成熟的SM3.0歷史遺留問題,怨不得ATI。
自從ATI HDR+AA技術被炒熱之后,完美的畫面表現力征服了越來越多的游戲玩家。從最早的3DMark06、孤島驚魂1.4、英雄薩姆2,到較新的上古卷軸4、分裂細胞3以及西部槍戰,隨著時間的推移也有更多的游戲能夠支持HDR+AA技術。