您的位置: 首頁(yè) > 新聞 > 游戲雜談 > 新聞詳情

王者之路![DirectX]的歷代記大回顧

時(shí)間:2007-12-26 01:28:39
  • 作者:不死鳥(niǎo)
  • 編輯:ChunTian

3.理解流水線真正概念:Pixel Shader+TMU+ROP

在討論顯卡GPU的流水線之前,我們想先讓大家了解一下3D游戲的制作過(guò)程,這對(duì)于理解后續(xù)的流水線概念將有很大的幫助。事實(shí)上,3D游戲初期的開(kāi)發(fā)就好象一部電影:游戲策劃、劇本撰寫(xiě)、角色圈定等等,在確定主角的造型風(fēng)格之后,制作廠商將把原畫(huà)交給3D建模部門(mén)。至此,3D工作正式開(kāi)始,此時(shí)需要處理紋理,后期混合等等,具體的工作內(nèi)容就是構(gòu)造頂點(diǎn)、幾何變換(Transform)、光照(Lighting)、設(shè)定(Setup)、光柵化(Rasterize)等。

對(duì)于傳統(tǒng)的圖形芯片,以上的一些工作全部由CPU代為執(zhí)行。到了3D時(shí)代,GPU作為圖形處理單元開(kāi)始承擔(dān)更多的工作,因此我們也開(kāi)始接觸紋理貼圖、像素渲染等概念。然而時(shí)至今日,GPU已經(jīng)發(fā)展得更為全面,其所謂的流水線作為一個(gè)完全的處理單元而存在,幾乎每一款GPU都內(nèi)置了多個(gè)流水線。

不過(guò)值得指出的是,不同時(shí)代對(duì)于流水線的定義完全不相同。如今我們對(duì)于一條流水線定義是“Pixel Shader(像素著色器)+TMU(紋理單元)+ROP(光柵化引擎,ATI將其稱為Render Back End)。從功能上簡(jiǎn)單的說(shuō),Pixel Shader完成像素處理,TMU負(fù)責(zé)紋理渲染,而ROP則負(fù)責(zé)像素的最終輸出,因此 ,一條完整的傳統(tǒng)流水線意味著在一個(gè)時(shí)鐘周期完成1個(gè)Pixel Shader運(yùn)算,輸出1個(gè)紋理和1個(gè)像素。以GeForce 6600LE為例,一塊傳統(tǒng)的4流水線構(gòu)架顯卡(4X1)在一個(gè)時(shí)鐘周期內(nèi)完成4個(gè)Pixel Shader運(yùn)算,輸出4個(gè)紋理和4個(gè)像素。

在3D游戲工作時(shí),其實(shí)Pixel Shader、TMU以及ROP部分都非常重要。讓我們回想一下當(dāng)年《FIFA98》等老一代3D游戲,當(dāng)時(shí)三角形生成能力是最為看重的,基本沒(méi)有應(yīng)用到紋理貼圖與像素著色,真正的工作部分是被成為頂點(diǎn)生成器的單元,而且也可以由CPU來(lái)模擬執(zhí)行。但是發(fā)展到DirectX 6與DirectX 7時(shí)期,大量3D游戲開(kāi)始追求更加豐富真實(shí)的表面效果,此時(shí)貼圖技術(shù)則迅速普及,如何提供強(qiáng)大的紋理填充率成為關(guān)鍵。至于DirectX 8之后的時(shí)代,像素處理則異軍突起并且展現(xiàn)出令人驚艷的畫(huà)質(zhì)。相對(duì)而言,ROP的概念比較難理解,這實(shí)際上是像素結(jié)果輸出處理器負(fù)責(zé)像素的最終輸出,執(zhí)行像素讀/寫(xiě)操作、Z-buffer檢查、色彩混合、抗鋸齒操作等。

4.DirectX 10核心:追求像素渲染

進(jìn)入DirectX 9時(shí)代以后,Pixel Shader技術(shù)開(kāi)始應(yīng)用得十分普遍,此時(shí)顯卡能否提供更多的像素渲染管線成為關(guān)鍵因素。當(dāng)然,造成GPU開(kāi)始追求更多像素渲染管線的因素絕不僅僅是3D游戲普及化應(yīng)用Pixel Shader,Pixel Shader本身版本的提升也是一個(gè)重要原因。單流水線內(nèi)置一條像素渲染管線在DirectX8游戲橫行的時(shí)代是比較合理的,因?yàn)镈irectX8的Pixel Shader1.3允許的著色器程序比較短,此時(shí)單流水線內(nèi)的多個(gè)像素渲染管線無(wú)法發(fā)揮并行工作的優(yōu)勢(shì)。然而DirectX9時(shí)代的Pixel Shader 2.0/3.0則全然不同,更長(zhǎng)的著色器程序指令讓多個(gè)像素渲染管線有了用武之地。

當(dāng)然,我們也并非單純否定TMU紋理填充單元的作用。但是也應(yīng)該清楚地意識(shí)到,隨著紋理壓縮以及Z緩存技術(shù)的不斷成熟,再加上顯存帶寬越來(lái)越出色,TMU逐漸擺脫了性能瓶頸,此時(shí)自然也就無(wú)需在單流水線中集成多個(gè)TMU單元。而與此同時(shí),ROP也在數(shù)量上足以滿足GPU的需求,因此也沒(méi)有隨著像素渲染管線數(shù)量的遞增而不斷增長(zhǎng)。

按照ATI和nVIDIA對(duì)于未來(lái)3D游戲技術(shù)的預(yù)測(cè),今后像素渲染將會(huì)越來(lái)越得到重用。在2001年剛剛出現(xiàn)具備像素著色器的顯卡時(shí),當(dāng)時(shí)游戲的像素著色器程序中算術(shù)指令和紋理指令數(shù)量的比例在1:1左右,打這以后,算術(shù)指令的數(shù)量呈顯著增加之勢(shì)。在2007年,游戲中每個(gè)像素的平均著色器程序指令數(shù)目是30條,算術(shù)指令和紋理指令數(shù)量平均比率達(dá)到了5:1,也就是說(shuō)現(xiàn)在的像素著色器程序中,平均每5條算術(shù)指令才會(huì)出現(xiàn)一條貼圖指令,而這樣的算術(shù)指令數(shù)量急劇增長(zhǎng)趨勢(shì)仍將繼續(xù)保持下去。

四、寫(xiě)在最后:DirectX 10最終受益者是誰(shuí)?

DirectX已經(jīng)成為3D技術(shù)競(jìng)爭(zhēng)的舞臺(tái),任何一項(xiàng)先進(jìn)的硬件技術(shù)都必須在DirectX API的支持下才能發(fā)揮威力。從未來(lái)的發(fā)展趨勢(shì)來(lái)看,伴隨著DirectX的成熟,3D游戲?qū)τ谟布睦眯Ч麑?huì)很快提高,屆時(shí)真正的電影級(jí)游戲效果或許就真的離我們不遠(yuǎn)了。在整個(gè)DirectX 10時(shí)代,其實(shí)并沒(méi)有哪一個(gè)受害方,因?yàn)榧幢闶莕VIDIA和ATI,不斷的產(chǎn)品更新依然會(huì)給他們帶來(lái)巨大的利潤(rùn),而Microsoft永遠(yuǎn)是干著保賺不賠的大買賣,讓W(xué)indows Vista的強(qiáng)勢(shì)地位更加鞏固。對(duì)于消費(fèi)者而言,DirectX 10時(shí)代將會(huì)看到更加出色的3D渲染效果,只不過(guò)我們又得升級(jí)顯卡了。

友情提示:支持鍵盤(pán)左右鍵"←""→"翻頁(yè)
0

玩家點(diǎn)評(píng) 0人參與,0條評(píng)論)

收藏
違法和不良信息舉報(bào)
分享:

熱門(mén)評(píng)論

全部評(píng)論

他們都在說(shuō) 再看看
3DM自運(yùn)營(yíng)游戲推薦 更多+