|
產(chǎn)品:GeForce GTX 560 nVIDIA 顯示芯片
到終點(diǎn)了?還早得很呢前言: 在經(jīng)歷了幾何單元的調(diào)整,光柵化的坐標(biāo)變換,紋理的匹配以及shader的處理之后,我們的終于來(lái)到了GPU流水線的最后一步——ROP單元。什么?還沒(méi)完?這都折騰了好幾個(gè)月了,又是模型又是材質(zhì)又是處理顏色的,我們不是把該干的都干了么,怎么還有步驟要處理啊?
是的,還沒(méi)完。模型確實(shí)調(diào)節(jié)好了,也被“壓平了”,而且我們還在材質(zhì)庫(kù)中為它找到了合適的外衣也就是對(duì)應(yīng)的紋理,甚至還通過(guò)shader那像素級(jí)的精確修正改變了這些材質(zhì)上不符合當(dāng)前場(chǎng)合的顏色錯(cuò)誤。 這些工作都很重要,前面的硬件單元們干的也都很棒,但這里有個(gè)小問(wèn)題——幾何單元處理的是幾何模型,光柵化處理的是坐標(biāo)變換,紋理單元干的是抓取紋理,shader則在不停的運(yùn)算著像素相關(guān)的數(shù)字,通過(guò)它們的辛勤勞作,我們得到了處理好的幾何模型,拾取出來(lái)的紋理,運(yùn)算妥當(dāng)?shù)南袼?,得到了幾乎一切?gòu)成正確圖像的基本要素。 但我們得到的僅僅是要素,并沒(méi)有得到圖像。 想得到最終的圖像,沒(méi)有ROP單元是不行的。因?yàn)镽OP單元的作用,就在于將這些圖形要素所蘊(yùn)含的信息混合并串連在一起,讓他們形成一個(gè)完整有機(jī)的整體。 ● 到終點(diǎn)了?還早得很呢 圖像處理就好像烹調(diào)一盤(pán)魚(yú)香肉絲,打荷師傅為我們準(zhǔn)備了一大盤(pán)子新鮮的青椒和冬筍,砧板師傅以精湛的刀工奉上了嫩滑的肉絲,灶臺(tái)上還有一堆蔥姜鹽糖豆瓣醬之類的調(diào)料,這些都是一盤(pán)美味的魚(yú)香肉絲的基礎(chǔ)。但他們僅僅是基礎(chǔ),要想吃到好吃的魚(yú)香肉絲,我們必須把他們混合在一起下鍋,用精湛手法加以烹調(diào)才可以。 而這,正是ROP單元的主要工作。 這世界簡(jiǎn)直就是一個(gè)茶幾,上面擺滿了杯具。你看,活著本已不易,各種壓力和瑣事讓我們每天都焦頭爛額了。好不容易騰出空來(lái)想要放松一下玩?zhèn)€游戲,結(jié)果竟然還要經(jīng)歷這么多復(fù)雜的處理步驟,又是幾何又是變換,還要與各種方程狠狠地纏斗一番,最后還要在經(jīng)歷這么一個(gè)混合的過(guò)程,才能看到一幀畫(huà)面。這根本就不是辛苦,簡(jiǎn)直就是命苦了。 活著,確實(shí)是一種修行啊。
我是一個(gè)粉刷匠,粉刷本領(lǐng)強(qiáng) ● 我是一個(gè)粉刷匠,粉刷本領(lǐng)強(qiáng) ROP單元一直是一個(gè)相對(duì)神秘的地方,不同于其他單元的單純和直接,ROP單元的結(jié)構(gòu)和作用一直都容易讓人產(chǎn)生混淆。有人認(rèn)定ROP單元的作用就是處理霧化之類的特效,有人覺(jué)得他是抗鋸齒的場(chǎng)合,有人以為光柵化過(guò)程在這里進(jìn)行,有人相信它是送出像素的單元。甚至連ROP單元的名字長(zhǎng)期以來(lái)都存在著不同的版本——Raster Operations Units以及Render Output Unit。
其實(shí),ROP單元并沒(méi)有大多數(shù)人想象中那樣神秘,除了覺(jué)得ROP是在處理光柵化過(guò)程的人之外,其他所有人并排坐在一起,把自己的觀點(diǎn)重復(fù)一遍,ROP單元的功能就出來(lái)了——是的,ROP單元的功能,就是處理霧化等特定的特效,進(jìn)行采樣及抗鋸齒操作,以及將所有圖像元素混合成最終畫(huà)面并予以輸出。所以從作用的角度出發(fā),相比于Raster Operations Units這種頭銜味道更重的名字來(lái)說(shuō),Render Output Unit顯然更加適合用來(lái)描述ROP單元。 Render Output Unit,翻譯過(guò)來(lái)就是渲染輸出單元,那么渲染輸出的第一步,明顯就是渲染啦。 渲染這個(gè)詞對(duì)不少人來(lái)說(shuō)一直都很神圣。包括筆者在內(nèi),許多愛(ài)好者在剛剛接觸到圖形處理過(guò)程時(shí),都曾經(jīng)一度將渲染想象的極其復(fù)雜和神秘。其實(shí)不然,渲染過(guò)程無(wú)非就是將已經(jīng)準(zhǔn)備好的諸多圖像元素混合在一起而已。幾何處理單元,光柵化,TMU以及Shader單元,他們所做的看似復(fù)雜的工作,都只是為渲染過(guò)程準(zhǔn)備基礎(chǔ)和條件。而真正進(jìn)行渲染的混合過(guò)程,跟其他圖形處理過(guò)程一樣,從本質(zhì)上來(lái)講其實(shí)非常簡(jiǎn)單。 把處理好的像素弄上紋理,把調(diào)好的漆刷上墻,收工。 產(chǎn)品:GeForce GTX 560 nVIDIA 顯示芯片
哎呀我的小鼻子,變呀變了樣● 哎呀我的小鼻子,變呀變了樣 如果僅僅是完成混合以及輸出,這么簡(jiǎn)單而且輕松的工作量似乎有點(diǎn)太便宜了ROP單元了。沒(méi)錯(cuò),除了進(jìn)行Z值相關(guān)的檢查來(lái)保障輸出像素的準(zhǔn)確性之外,混合輸出過(guò)程幾乎不會(huì)帶來(lái)其他更加復(fù)雜的操作。這種相對(duì)寬松和富裕的工作環(huán)境,讓ROP單元有了擴(kuò)展的充分理由和借口。于是隨著人們圖形需求的增長(zhǎng),ROP單元很快就具備了另一個(gè)作用,那就是協(xié)助完成全屏抗鋸齒(FSAA)工作。
我們所看到的圖像的基本構(gòu)成單位是像素,而像素的形狀則是一個(gè)又一個(gè)的小方格,當(dāng)兩個(gè)相鄰像素存在巨大的顏色反差時(shí),這兩個(gè)像素中間就會(huì)出現(xiàn)一條非常顯眼的顏色分界線。顏色分界線帶來(lái)的界面效應(yīng)是區(qū)分物體邊緣的重要標(biāo)識(shí)。
對(duì)于垂直和水平出現(xiàn)的像素分界來(lái)說(shuō),由于其本身的范圍非常均一,因此并不會(huì)造成界面效果之外的效應(yīng),但當(dāng)像素分界以斜線的形式出現(xiàn)時(shí),效果就完全不一樣了。斜向像素分界線,正是困擾3D圖形界多年的問(wèn)題——鋸齒。 打開(kāi)你的畫(huà)筆,嘗試著畫(huà)一條最簡(jiǎn)單的斜線,然后放大看看。是的,非常不幸,這就是讓人討厭的鋸齒,外號(hào)“狗牙”。 鋸齒的存在極大的影響了圖形效果的表達(dá),本來(lái)應(yīng)該平滑的幾何模型表面,在光柵化并變成像素圖元之后變得不再平滑,這極大地影響了人們觀賞圖形時(shí)的感受。所有影響人們觀賞圖形的因素最終都要被干掉,這正是圖形界發(fā)展的根本動(dòng)力。為了消除鋸齒感給圖形造成的影響,我們有了Anti-Aliasing以及Anti-Aliasing Unit,也就是AA以及AA單元。 可抗鋸齒這事,跟ROP又有什么關(guān)系呢? 產(chǎn)品:GeForce GTX 560 nVIDIA 顯示芯片
鋸齒怎么抗● 鋸齒怎么抗 既然鋸齒的產(chǎn)生源自斜向分布像素之間的反差所生成的顏色分界線,那么淡化這條分界線就成了抗鋸齒的首選方案。分界線的礙眼是因?yàn)樗麡O強(qiáng)的對(duì)比性,那么我們?nèi)绻麑⒎纸缇€周?chē)鷶?shù)個(gè)像素的顏色提取出來(lái)進(jìn)行混合,然后重新賦予分界線周?chē)@些像素“中和”后的顏色,不就能讓原本非常突兀的顏色分界線變成自然平順的顏色過(guò)渡,并借以消滅礙眼的鋸齒了么?
混合,中和,賦予像素新的顏色,Anti-Aliasing的這些核心內(nèi)容,不正是ROP最傳統(tǒng)的工作么。抗鋸齒的原理,注定了這項(xiàng)工作必須通過(guò)ROP單元來(lái)進(jìn)行,現(xiàn)在你明白AA單元為什么會(huì)出現(xiàn)在ROP里了吧。 Anti-Aliasing過(guò)程的起點(diǎn)開(kāi)始于對(duì)圖像的放大,我們首先要將整個(gè)圖像(超級(jí)采樣,SSAA)或者比較精確的物體邊緣(多重采樣,MSAA)進(jìn)行放大,然后對(duì)顏色反差巨大的物體邊緣部分的像素及其周?chē)南袼剡M(jìn)行提取和混合,形成比原來(lái)更加自然但也更加模糊的顏色過(guò)渡,最后再將圖像縮小回原來(lái)的尺寸以便消除顏色過(guò)渡產(chǎn)生的模糊現(xiàn)象。 ROP在AA過(guò)程中所做的事情,就是提取顏色分界線所在像素及其周?chē)袼氐念伾珨?shù)值,然后對(duì)這些像素的顏色進(jìn)行混合,再重新把新的過(guò)渡顏色刷上去。 又完了?是的,又完了,看似高深的抗鋸齒,其實(shí)就是通過(guò)混色削減邊緣比度這么簡(jiǎn)單…… 產(chǎn)品:GeForce GTX 560 nVIDIA 顯示芯片
每個(gè)人都有自己的好“碰友”● 每個(gè)人都有自己的好“碰友” 幾何單元后面跟著光柵化,紋理單元有shader陪伴,似乎每個(gè)人都有自己的好“碰友”,大家激烈競(jìng)爭(zhēng)同時(shí)又相互支持,共同完成著屬于自己的工作。那作為整個(gè)流水線后端的ROP,有沒(méi)有自己的好“碰友”呢?
在前面的章節(jié)中我們已經(jīng)知道,抗鋸齒環(huán)節(jié)的操作需要頻繁的對(duì)圖像進(jìn)行放大,縮放以及對(duì)像素采樣和混合過(guò)程,這些過(guò)程意味著ROP需要反復(fù)對(duì)一幀畫(huà)面進(jìn)行多次操作,而且這些操作還會(huì)涉及高分辨率以及更多像素?cái)?shù)量的問(wèn)題。 另外,游戲體驗(yàn)很重要的組成部分就是畫(huà)面的流暢度,要利用視覺(jué)殘留效應(yīng)讓人眼誤以為畫(huà)面是連貫的,每秒鐘ROP所需要輸出的有效幀數(shù)起碼要大于30幀,本來(lái)每一幀畫(huà)面的數(shù)據(jù)量就比正常情況下高很多,畫(huà)面總量有如此之大,這一切都意味著一件事——ROP的工作,背后蘊(yùn)藏著巨大的數(shù)據(jù)量。
由此可見(jiàn),想要讓ROP保持極高的工作效率,充足的顯存帶寬和緩沖空間是必不可少的。 我們要為ROP提供的好“碰友”,不僅要滿足他對(duì)數(shù)據(jù)存儲(chǔ)空間的極大要求,同時(shí)還要讓他能夠在任何想要進(jìn)行存儲(chǔ)及訪問(wèn)操作時(shí)均能自由的對(duì)存儲(chǔ)空間進(jìn)行動(dòng)作。這不僅需要一套優(yōu)秀的高頻高位寬顯存體系,同時(shí)還需要大數(shù)量的并行顯存控制器。 ROP需要的大帶寬和大儲(chǔ)存空間由前者提供,而后者則通過(guò)星形連接的Crossbar總線讓每個(gè)ROP單元都與MC進(jìn)行直連,從而盡可能多的降低ROP單元的存儲(chǔ)延遲問(wèn)題。 產(chǎn)品:GeForce GTX 560 nVIDIA 顯示芯片
魚(yú)香肉絲的烹調(diào)流程● 魚(yú)香肉絲的烹調(diào)流程 明白了ROP能干什么以及需要些什么,接下來(lái)我們就該看看ROP到底干了些什么,又是怎么干的了。只要你能明白魚(yú)香肉絲是怎么從案板走向餐桌的,你就一定可以明白R(shí)OP單元是怎么把圖像元素變成圖像的。
首先,由TMU拾取的紋理以及由shader處理完成的像素會(huì)被傳送到對(duì)應(yīng)的z/stencil buffer,接下來(lái)ROP單元會(huì)首先對(duì)這些紋理和像素進(jìn)行z/stencil檢查,盡管經(jīng)由光柵化處理之后的模型已經(jīng)不具備實(shí)際存在的Z軸了,但其深度信息依舊會(huì)被保存下來(lái),對(duì)于深度和模板信息的判斷能夠讓ROP做出讓那些像素被顯示出來(lái)的決定,這不僅能夠避免完全遮擋的像素被錯(cuò)誤的顯示在前面,同時(shí)也能夠減少后續(xù)的color output部分的壓力。由于存在對(duì)深度的判斷和剔除操作,再加上Raster Operations Units這一特殊名稱的誤導(dǎo),很多人都以為光柵化過(guò)程是在ROP單元才完成的,實(shí)際上Rasterization和ROP單元本身并沒(méi)有什么直接聯(lián)系的。Rasterization所進(jìn)行的是對(duì)模型的3D-2D坐標(biāo)投影變換,而ROP則是對(duì)像素的混合和輸出。 當(dāng)所有像素都完成了深度檢查等操作之后,特定范圍深度值的像素將被輸送到alpha單元進(jìn)行透明度檢查,由透明度及透明混合所導(dǎo)致的效果對(duì)于霧化以及體積光等效果有至關(guān)重要的意義,因此alpha單元的檢查與深度檢查幾乎可以說(shuō)同等重要。根據(jù)程序的需要,ROP會(huì)以Blend單元對(duì)特定的像素進(jìn)行alpha Blending操作。 經(jīng)過(guò)上述步驟之后,剩下的像素將會(huì)被填充進(jìn)2D化模型需要的范圍內(nèi),也就是我們常見(jiàn)的Pixel Fillrate過(guò)程。Pixel Fillrate就好像一口大鍋,作為肉絲、青椒、冬筍還有蔥姜鹽糖豆瓣醬之類原料出現(xiàn)的像素會(huì)在這里被正確的混在一起。經(jīng)過(guò)混合,圖形元素所包含的原本孤立的信息會(huì)像食材之間交互作用產(chǎn)生的香氣一樣被釋放出來(lái),最終形成我們能夠接受的圖像。 由于像素上的效果已經(jīng)被shader以數(shù)學(xué)的形式處理完畢了,因此如果沒(méi)有AA操作,那么到這里為止圖形渲染工作就算徹底完成了,所有效果的混合及填充將會(huì)讓正確的畫(huà)面最終得以呈現(xiàn),這幅完成處理的畫(huà)面會(huì)被送入output buffer等待輸出。而如果程序要求進(jìn)行AA操作,比如MSAA,那么ROP中的AA單元還需要對(duì)填充完畢的畫(huà)面進(jìn)行若干次多重采樣,然后再對(duì)采樣出來(lái)的像素點(diǎn)進(jìn)行color Blending操作,完成之后的畫(huà)面才會(huì)被送入幀緩存等待輸出到屏幕上。 裝盤(pán),上桌。混合,輸出。 產(chǎn)品:GeForce GTX 560 nVIDIA 顯示芯片
一個(gè)廚子引發(fā)的危機(jī)● 一個(gè)廚子引發(fā)的危機(jī) 有人的地方就會(huì)有爭(zhēng)議、爭(zhēng)執(zhí)甚至是爭(zhēng)斗,GPU領(lǐng)域自然也不例外。不管ROP單元是忙活裝修的粉刷匠,還是演繹火的藝術(shù)的大廚,安分守己的他似乎并未躲開(kāi)成為事件中心的命運(yùn)?! ?/FONT> ROP承擔(dān)著最終混合和輸出圖形的任務(wù),它所需要處理的像素幾乎等于前面所有步驟處理像素的總和,它的最終效率也決定著整個(gè)流水線的效率,即便前面的單元再?gòu)?qiáng)大再高效,如果ROP單元不足,整個(gè)體系就會(huì)遭遇到Fillrate wall,無(wú)法將上游過(guò)來(lái)的諸多圖形元素進(jìn)行混合也就無(wú)法完成輸出,最終的幀數(shù)自然會(huì)受到影響,HD5830/6790就是明顯的例子。
因此,保障ROP的總效率對(duì)GPU構(gòu)架來(lái)說(shuō)是極其重要的。由于Z/stencil檢查和操作、AA以及blind過(guò)程都十分耗費(fèi)顯存帶寬以及ROP自身的資源,因此與別的單元獨(dú)善其身不同,為了獲得更好的ROP動(dòng)作效率,人們不僅要增加ROP的總數(shù)量,同時(shí)還要為其配置充足的顯存帶寬及顯存控制器資源。 說(shuō)配就配?難道晶體管不要錢(qián)的么? 以常規(guī)GPU的結(jié)構(gòu)來(lái)看,每增加一個(gè)ROP/MC,不僅要添置這些單元及其配套資源的晶體管,還要考慮星形互聯(lián)的crossbar總線所帶來(lái)的沉重負(fù)擔(dān)。動(dòng)輒數(shù)億的晶體管增量,對(duì)任何一顆GPU來(lái)說(shuō)都不是一個(gè)小數(shù)目。在制程上限和芯片面積限定了晶體管總數(shù)的前提下,ROP這種近乎于喝水一般消耗晶體管的單元,勢(shì)必會(huì)影響到其他單元所能夠占有的資源總量。 那能不能找一個(gè)不怎么浪費(fèi)晶體管又能提升性能的方法呢?似乎有,比如Imagination的TBR/TBDR。 TBDR全稱Tile-based Deferred Rendering,它通過(guò)將每一幀畫(huà)面劃分成多個(gè)矩形區(qū)域,并對(duì)區(qū)域內(nèi)的所有像素分別進(jìn)行Z值檢查,在任務(wù)進(jìn)入渲染階段之前就將被遮擋的不可見(jiàn)像素剔除掉。由于在渲染之前進(jìn)行Z-culling操作,TBR/TBDR理論上能夠大幅削減進(jìn)入shader以及ROP的像素?cái)?shù)量,這不僅大幅降低了系統(tǒng)對(duì)像素的處理和輸出壓力,更極大的節(jié)約了顯存帶寬及空間的開(kāi)銷(xiāo)。 問(wèn)題來(lái)了——既然有這樣的技術(shù),為何不用呢?
盡管Imagination以及其TBR技術(shù)在幾年前已經(jīng)自桌面領(lǐng)域敗亡至SoC及其他低功耗芯片領(lǐng)域,目前桌面GPU的幾乎全部靈魂也都是由當(dāng)年那一場(chǎng)勝負(fù)決定的,可以說(shuō)今天桌面GPU的尊嚴(yán)和榮耀,都是由更大數(shù)量的ROP/MC這一理念所帶來(lái)的。 但伴隨著近年來(lái)移動(dòng)領(lǐng)域的迅猛增長(zhǎng),Imagination因?yàn)樵?A class=hui14_line >智能手機(jī)及平板電腦平臺(tái),特別是蘋(píng)果平臺(tái)上穩(wěn)定的統(tǒng)治地位而不斷壯大,功耗性能及晶體管消耗比例暫時(shí)占優(yōu)的TBR/TBDR技術(shù)大有重歸桌面領(lǐng)域的趨勢(shì),Imagination的Roadmap中頗具挑釁性質(zhì)的MBX及SGX MPx系列就很能說(shuō)明問(wèn)題。如果Imagination憑借蘋(píng)果為其帶來(lái)的厚厚一疊美金最終成功回歸了桌面領(lǐng)域,并且以TBR/TBDR技術(shù)重新占領(lǐng)市場(chǎng)甚至是主流,那就意味著對(duì)幾年前那場(chǎng)勝負(fù)的完全推翻,以及對(duì)近年來(lái)桌面GPU發(fā)展思路的極大否定。 山雨欲來(lái)風(fēng)滿樓啊。 產(chǎn)品:GeForce GTX 560 nVIDIA 顯示芯片
一致對(duì)外● 一致對(duì)外 NVIDIA和ATI/AMD在桌面GPU領(lǐng)域是激烈的競(jìng)爭(zhēng)對(duì)手,他們的恩恩怨怨多得可以寫(xiě)一部百萬(wàn)字以上的傳記體長(zhǎng)篇小說(shuō)。雙方的發(fā)展思路,理念以及對(duì)市場(chǎng)和需求的看法在細(xì)節(jié)上存在非常大的差異,產(chǎn)品風(fēng)格和強(qiáng)調(diào)重點(diǎn)也不盡相同,但在某個(gè)本質(zhì)問(wèn)題上,雙方卻保持了高度的一致,起碼是大方向上的一致。那就是在徹底依賴TBR等類似的Early-Z手段和結(jié)合類似手段的同時(shí)保證充足的ROP/MC資源的選擇中,堅(jiān)定的支持后者。
無(wú)論是G80/GF100還是R600/RV970,NVIDIA和ATI/AMD的GPU構(gòu)架無(wú)不強(qiáng)調(diào)著ROP以及顯存帶寬的重要性。雙方近年來(lái)的旗艦GPU的ROP數(shù)量從未低于過(guò)16個(gè),而顯存帶寬則更是一路飆升到了近200G,盡管實(shí)現(xiàn)手段存在差異,但大方向上的一致性根本無(wú)需多言。甚至近年來(lái)GPU戰(zhàn)場(chǎng)中少有的RV770這樣漂亮的“翻身仗”,其成功的關(guān)鍵也在于ROP以及顯存帶寬的極大改進(jìn)。 是什么導(dǎo)致了斗爭(zhēng)不斷的兩個(gè)冤家一致對(duì)外,又是什么導(dǎo)致了幾年前那一場(chǎng)桌面GPU發(fā)展之路大戰(zhàn)中Imagination的敗北呢?答案就在TBR/TBDR本身。 對(duì)于常規(guī)的光柵化過(guò)程來(lái)說(shuō),TBR/TBDR會(huì)帶來(lái)諸多的問(wèn)題。包括深度檢查耗損、頻繁的Z讀取、Tiles劃分帶來(lái)的紋理重復(fù)讀取、多邊形數(shù)量上升之后的scene buffer溢出等等。最初的TBR甚至需要CPU來(lái)進(jìn)行Z-Occlusion Test,盡管后來(lái)的TBDR不再像傳統(tǒng)的TBR那樣需要通過(guò)CPU來(lái)進(jìn)行Z值檢查,但是TBDR過(guò)程需要對(duì)畫(huà)面內(nèi)所有的像素進(jìn)行一次“額外”的load過(guò)程,這個(gè)過(guò)程本身無(wú)論從哪個(gè)角度來(lái)講都是與節(jié)約顯存帶寬背道而馳的,尤其是在復(fù)雜度極高但Z-Occlusion并不嚴(yán)重的場(chǎng)景中更是如此。 另外,盡管對(duì)畫(huà)面的矩形劃分越細(xì)密,GPU對(duì)像素進(jìn)行Z判斷的效率和準(zhǔn)確率越高,但TBDR過(guò)程對(duì)畫(huà)面的矩形切割非常機(jī)械,這種劃分經(jīng)常會(huì)導(dǎo)致很多多邊形和紋理被Tiles所切割,這些多邊形和紋理都必須經(jīng)過(guò)2次甚至4次讀取才能保持自身形態(tài)的“完整”,這無(wú)疑加重了幾何和紋理處理過(guò)程的負(fù)擔(dān)。如果場(chǎng)景的多邊形數(shù)量較多,這種切割還會(huì)導(dǎo)致scene buffer被快速的消耗殆盡,scene buffer的溢出會(huì)直接導(dǎo)致Z判斷延遲的急劇增大,這對(duì)整個(gè)處理過(guò)程的影響是巨大的。
通俗的說(shuō),TBDR需要在屏幕上畫(huà)很多很多的小格子,然后把格子里的所有像素都拿出來(lái)做某種檢查,沒(méi)通過(guò)檢查的“壞”像素就會(huì)被丟掉。盡管丟掉這些沒(méi)通過(guò)檢查的像素可以讓后面的工作量減小,但這個(gè)檢查本身對(duì)渲染沒(méi)有任何意義,所以沒(méi)有被丟掉的像素就相當(dāng)于走了一遍無(wú)用的過(guò)場(chǎng)。與此同時(shí),劃分小格子的過(guò)程會(huì)切壞很多多邊形和紋理,想要讓這些多邊形和紋理能夠從“誤傷”中幸存下來(lái),你切了它們多少刀就要重新讀取它們多少次。如果多邊形本身就很多,被誤傷的概率就更大,這會(huì)使得系統(tǒng)的某種緩存被快速消耗干凈,緩存沒(méi)了,系統(tǒng)干什么都不可能快得起來(lái)。
當(dāng)這種問(wèn)題累積到一定地步之后,采用TBR/TBDR等手段的GPU不僅無(wú)法節(jié)約顯存帶寬,相反還會(huì)更加依賴顯存帶寬。目前采用這一技術(shù)的SGX543MP2擁有吞吐shader更加高效的USSE單元,4倍于競(jìng)爭(zhēng)對(duì)手Geforce ULP的理論性能以及雙倍以上的顯存帶寬,最終的實(shí)際性能卻被對(duì)手緊緊咬住,如果SGX543MP以單芯片的形式登場(chǎng),最終的性能甚至可能會(huì)負(fù)于競(jìng)爭(zhēng)對(duì)手。 對(duì)于這樣一個(gè)技術(shù),我想NVIDIA和ATI/AMD在ROP上的堅(jiān)持根本就是無(wú)需考慮的。Early-Z技術(shù)確實(shí)有它非常積極的一面,但如果將Early-Z強(qiáng)調(diào)到唯一的高度,所換來(lái)的結(jié)果根本就是與Early-Z技術(shù)的初衷背道而馳的。桌面顯卡如果放棄傳統(tǒng)的ROP/MC規(guī)模換取執(zhí)行效率的發(fā)展方向,轉(zhuǎn)而開(kāi)始倡導(dǎo)類似TBDR的技術(shù),其結(jié)局必定會(huì)像現(xiàn)在采用TBDR的SGX系列顯卡一樣尷尬。因此,理智的廠商都會(huì)堅(jiān)持傳統(tǒng)的ROP/MC的發(fā)展思路,并逐步的將更有效地Early-Z納入到流水線中去以便輔助現(xiàn)有的渲染方式。
但是我們生存的世界,似乎并不是一個(gè)理性能夠占主導(dǎo)的世界。Imagination從蘋(píng)果那里賺來(lái)了一疊又一疊的綠票,這些綠票不僅可以擊敗理智并使人瘋狂,更能改變市場(chǎng)需求甚至是移山填海…… “推動(dòng)這個(gè)世界發(fā)展的,是金錢(qián)??!”——美神令子。 產(chǎn)品:GeForce GTX 560 nVIDIA 顯示芯片
止戰(zhàn)之殤● 止戰(zhàn)之殤 Imagination不是不知道TBDR技術(shù)這些天生的弊端,其旗下SGX系列顯卡那頑固的理論性能/景深系數(shù)的實(shí)際表現(xiàn)也一直讓其頭疼不已。但在最初退到嵌入式及低功耗芯片領(lǐng)域時(shí),Imagination顯然沒(méi)有選擇。在SoC領(lǐng)域,芯片的功耗就是一切的指揮棒,拋棄ROP/MC為主的思路,堅(jiān)持以TBR/TBDR這類減少無(wú)效渲染的操作方式為基礎(chǔ)的發(fā)展思路剛好能夠迎合該領(lǐng)域的需求。所以從桌面敗亡的Imagination堅(jiān)強(qiáng)的在SoC領(lǐng)域活了下來(lái),并且以其在低性能需求階段較高的功耗性能比獲得了蘋(píng)果的青睞,并最終賺的盆滿缽滿。
如果Imagination靜靜地呆在SoC領(lǐng)域,繼續(xù)與蘋(píng)果續(xù)寫(xiě)今天IOS設(shè)備的神話,桌面GPU領(lǐng)域自然不會(huì)受到多大的影響。盡管移動(dòng)設(shè)備尤其是平板電腦的大行其道缺失讓桌面領(lǐng)域頭疼不已,但畢竟雙方并非直接的對(duì)決,桌面領(lǐng)域依舊可以憑借絕對(duì)性能上毫無(wú)疑問(wèn)的領(lǐng)先維持住自己的一部分固定市場(chǎng)。但現(xiàn)在,來(lái)自蘋(píng)果強(qiáng)勁需求所帶來(lái)的豐厚利潤(rùn)顯然讓Imagination發(fā)生了某些化學(xué)反應(yīng),變得不再安分于SoC領(lǐng)域。不斷更新的USSE指令集,PowerVR MBX以及SGX MPx系列無(wú)不清晰地顯露著Imagination重返桌面領(lǐng)域的野心。而如果Imagination重返桌面領(lǐng)域,其豐沛的資源雖然不一定能改變現(xiàn)有市場(chǎng)對(duì)性能需求的看法,但卻一定可以讓TBDR技術(shù)攪起一片漫天塵埃,讓本已盡顯混沌和發(fā)展不平衡的桌面顯示領(lǐng)域變得更加讓人迷茫。 沒(méi)人希望市場(chǎng)和發(fā)展前景一片混沌,也沒(méi)人希望自己被輕易的超越和淘汰,起碼NVIDIA和AMD都是如此。因此不管是出于何種目的,是防范Imagination也好是對(duì)抗自己的對(duì)手也罷,反正NVIDIA和AMD對(duì)桌面GPU的性能改進(jìn),尤其是ROP/MC的性能改進(jìn),一刻也沒(méi)有停止過(guò)。只有保持在性能上的絕對(duì)領(lǐng)先,才能通過(guò)壓制對(duì)手以及創(chuàng)造和滿足更高的需求等手段來(lái)防止對(duì)手的進(jìn)入。ROP單元,也便因此而成了桌面顯卡發(fā)展的保護(hù)者了。 NVIDIA以及AMD對(duì)ROP部分的改進(jìn),首先是常規(guī)的增加ROP以及顯存帶寬的絕對(duì)數(shù)量。我們前面已經(jīng)提到了,近年來(lái)無(wú)論是NVIDIA還是AMD,其GPU構(gòu)架的ROP資源及顯存帶寬都在不間斷的增長(zhǎng)著。在最新的Fermi構(gòu)架中,NVIDIA GPU的ROP單元數(shù)量已經(jīng)達(dá)到了恐怖的48個(gè),而顯存帶寬更是被加到了192GB/S這一空前的數(shù)字。下一代的Kepler及GNC構(gòu)架將很有可能擁有64個(gè)左右的ROP單元,以及接近甚至超過(guò)300GB/S的顯存帶寬。更多ROP單元可以保證GPU擁有更高的像素處理和填充能力,而更高的帶寬則可以滿足ROP對(duì)AA等操作的需求。盡管這些舉措均非常消耗晶體管資源,但更多的ROP單元顯然可以帶來(lái)更加強(qiáng)勁的輸出效率,其所帶來(lái)的對(duì)整體性能的提升可以說(shuō)是立竿見(jiàn)影的。
除了擴(kuò)展規(guī)模之外,進(jìn)一步改進(jìn)ROP及整個(gè)后端內(nèi)部的結(jié)構(gòu),使其具備更高的像素輸出效率也未嘗不是一條合適的道路。比如當(dāng)初Z/stencil buffer的加入就為ROP單元帶來(lái)了不小得性能提升,現(xiàn)在繼續(xù)增大Z-buffer以及stencil buffer來(lái)變相提升ROP單元的單位周期以及某些特定環(huán)境下的像素吞吐能力,也是一種很好的嘗試,在這方面AMD構(gòu)架走的相對(duì)靠前,相信其構(gòu)架如GNC等,在未來(lái)會(huì)有更多更加強(qiáng)大的改進(jìn)出現(xiàn)。 產(chǎn)品:GeForce GTX 560 nVIDIA 顯示芯片
這樣總該完結(jié)了吧,什么?還沒(méi)有?● 這樣總該完結(jié)了吧,什么?還沒(méi)有? 我們可以在日常生活中找到很多與ROP類似的圖景。前面提到的將所有材料炒成一盤(pán)佳肴的大廚,GPU大百科前傳中出現(xiàn)過(guò)的刷漆師傅,流水線上將所有元件組裝成機(jī)械的工人,他們都是ROP單元在現(xiàn)實(shí)生活中所對(duì)應(yīng)的形象。ROP單元所從事的工作,與他們沒(méi)有任何區(qū)別。 因?yàn)樗麄兯鶑氖碌墓ぷ?,都是從單個(gè)元素向成品的跨越。
ROP單元對(duì)于GPU來(lái)說(shuō)是不可或缺的組成部分,它負(fù)責(zé)著圖形過(guò)程中圖像元素向畫(huà)面的最終跨越,混合像素并輸出這一特性,讓它的性能直接決定了畫(huà)面輸出的速率,進(jìn)而影響到整個(gè)GPU的實(shí)際性能表現(xiàn),它甚至還是桌面GPU維持自身地位和榮耀的重要標(biāo)志。作為整個(gè)圖形流水線的最后一步,ROP單元真可謂是圖形之根本。 在經(jīng)歷了ROP單元的故事之后,伴隨著畫(huà)面的最終輸出,我們關(guān)于圖形“處理”過(guò)程的全部步驟就算完成了。我們用了整整3個(gè)月,累計(jì)7篇文章的篇幅來(lái)完整的進(jìn)行了一次GPU硬件執(zhí)行流程的巡禮,這漫長(zhǎng)而疲勞的過(guò)程相信應(yīng)該能給屏幕前的你帶來(lái)一點(diǎn)點(diǎn)收獲了吧。 完成對(duì)整個(gè)GPU硬件流水線各個(gè)單元的觀察并不是GPU大百科全書(shū)系列的終點(diǎn),要理解了解GPU的方方面面,我們所要涉及的故事還有很多——比如存在于各個(gè)單元之間的、直接關(guān)乎著它們動(dòng)作效率的緩沖體系,還有GPU各個(gè)組成單元之間一些非常有趣的數(shù)字關(guān)系,以及它們與最終性能之間的聯(lián)系等等。請(qǐng)相信我們,GPU內(nèi)還有著更多精彩的故事和真相在等待著你的發(fā)掘和思考,而這些精彩的故事都會(huì)在接下來(lái)的GPU大百科全書(shū)中一一的為你呈現(xiàn),各位敬請(qǐng)期待吧。 |
|
|
來(lái)自: 網(wǎng)中有你 > 《video》