渲染管線學習筆記

渲染管線也稱爲渲染流水線,是顯示芯片內部處理圖形信號相互獨立的的並行處理單元。html

image

渲染管線也稱爲渲染流水線或像素流水線或像素管線,是顯示芯片內部處理圖形信號相互獨立的的並行處理單元。 架構

渲染管線

渲染管線性能

在某種程度上能夠把渲染管線比喻爲工廠裏面常見的各類生產流水線,工廠裏的生產流水線是爲了提升產品的生產能力和效率,而渲染管線則是提升顯卡的工做能力和效率。操作系統

因爲在新的時代,對遊戲畫面、質量有愈來愈高的要求使傳統的渲染架構沒法知足遊戲發展的須要,微軟在Vista中一塊兒發佈了最新的DirectX 10技術,以取代上代的DX9.0技術。設計

在DX10的統一渲染架構中,渲染管線、頂點着色器等不復存在。所謂統一渲染架構,你們能夠理解爲將Vertex Shader(頂點着色器單元)、Pixel Pipelines(像素渲染管線)統一被Stream Processors(流處理器)所取代。此時,顯卡中的GPU將不會開闢獨立的渲染管線,而是全部的運算單元均可以任意處理任何一種Shader運算。這使得GPU的利用率更加高,也避免了傳統架構中因爲資源分配不合理引發的資源浪費現象。 最新的DX11也是採用流處理器統一渲染架構htm

編輯本段數量參數

渲染管線的數量通常是以像素渲染流水線的數量×每管線的紋理單元數量來表示。例如,GeForce 6800Ultra的渲染管線是16×1,就表示其具備16條像素渲染流水線,每管線具備1個紋理單元;GeForce4 MX440的渲染管線是2×2,就表示其具備2條像素渲染流水線,每管線具備2個紋理單元等等,其他表示方式以此類推。 blog

渲染管線

渲染管線接口

渲染管線的數量是決定顯示芯片性能和檔次的最重要的參數之一心頻率,在相同的顯卡核下,更多的渲染管線也就意味着更大的像素填充率和紋理填充率,從顯卡的渲染管線數量上能夠大體判斷出顯卡的性能高低檔次。但顯卡性能並不只僅只是取決於渲染管線的數量,同時還取決於顯示核心架構、渲染管線的的執行效率、頂點着色單元的數量以及顯卡的核心頻率顯存頻率等等方面。通常來講在相同的顯示核心架構下,渲染管線越多也就意味着性能越高,例如16×1架構的GeForce 6800GT其性能要強於12×1架構的GeForce 6800,就象工廠裏的採用相同技術的2條生產流水線的生產能力和效率要強於1條生產流水線那樣;而在不一樣的顯示核心架構下,渲染管線的數量多就並不意味着性能更好,例如4×2架構的GeForce2 GTS其性能就不如2×2架構的GeForce4 MX440,就象工廠裏的採用了先進技術的1條流水線的生產能力和效率反而還要強於只採用了老技術的2條生產流水線那樣。遊戲

編輯本段重要性

顯卡的渲染管線是顯示核心(也就是顯卡的CPU,顯卡的心臟,學名叫顯示處理單元)的重要組成部分。現階段的顯卡(主要是針對微軟DIRECTX(驅動和操做系統的接口技術)的版原本說的)都是非統一架構的,也就是分爲頂點渲染和像素渲染。那麼在顯示核心的內部就分爲兩大區域,一個區域就是頂點渲染單元(也叫頂點着色頂點着色引擎),主要負責描繪圖形,也就是創建模形。一個就是像素渲染管線(也叫像素渲染管道),主要負責把頂點繪出的圖形填上填色。而後再加上紋理貼圖單元貼上紋理,一個精美的圖形就出來了。若是還不懂,那舉個簡單的例子:好比如今要顯卡繪出一個茶壺。當這個茶壺的頂點信息從顯存傳到頂點着色單元後,頂點着色單元就會依據這些信息繪出這個茶壺的輪 ip

渲染管線

渲染管線

廓。接下來像素渲染管線就會依據這個輪廓,把從顯存中的有關這個茶壺的顏色信息讀出來,給這個茶壺上色,若是這個茶壺是白色的,就上白色的。而後再由紋理貼圖單元貼上精美的圖案,最後這個精美的茶壺就出來了。設想一下,平時畫畫,是否是也是先畫個大概,而後再進行修改,上色,畫上圖案,最後才畫好呀,其實顯卡工做起來,也和畫畫差很少,只不過他的效率很高,每秒能夠畫上億個罷了。

編輯本段專門通道

渲染管線就是顯示核心中負責給圖形配上顏色的一組專門通道。它是顯示核心中單獨設計

渲染管線

渲染管線

的一組電路,擁有單獨的晶體管。渲染管線越多,那麼所繪出的圖形它的填充效率就越高,天然咱們看到的畫面也就越流暢越精美。這就是爲何渲染管線越多越好的緣由。若是少了,那麼天然就會使顯卡的性能降低。固然渲染管線越多,顯示核心就會越大,由於它所使用的晶體管數目增長了。

不過在微軟的DIRECTX10出來後,頂點渲染和像素渲染將淡出人們的視線,由於它將採用統一架構。也就是一個核心中是由一組專門的通道既負責頂點渲染又負責像素渲染的。也就是隻會有貼圖單元。這個時候是貼圖單元越多越好,畫面越好,越流暢,性能越高。

編輯本段紋理貼圖單元

在非統一架構時代,像素渲染管線中還有一個概念,就是前文中說到的紋理貼圖單元,通常來講,一條像素渲染管線只有一個貼圖單元,固然也有2個,3個甚至4個的。好比NVIDIA的GEFORCE5800ULTRA就是2個,ATI的X1900GT就是3個,ATI的X1900XTX就是4個。這也就是爲何ATI的X1900系列發佈後,都是16條渲染管線,但貼圖單元倒是48個的緣由。那麼X1900GT是36個貼圖單元也就不可貴出了,由於它有12條渲染管線,每一個管線中有3個紋理貼圖單元。其實這又引出了一個概念,就是紋理填充率,這也是顯卡的一個重要性能指標,和渲染管線同樣也是越多越好,這二者是相輔相成的。

編輯本段應用

象素渲染管線是衡量顯卡的一個方面. 簡單的講就是 面向成色的東西吧,如今被廠商宣傳的管線概念都亂套了,ATI在X1900XTX的介紹中,明確強調"像素渲染單元"增長了三倍.達到了48個,而非廠家和媒體所說的48個渲染管線,  從之前的顯卡來看,GeForce4 TI4200具備2個頂點單元;4個渲染管線,每一個渲染管線搭配兩個貼圖單元.FX5800/5900具備3個頂點單元;4個渲染管線,每一個渲染管線僅有個2貼圖單元,RADEON9700具備4個頂點單元;8個渲染管線,每一個渲染管線僅有個1貼圖單元.RADEON9000具備1個頂點單元;4個渲染管線,每一個渲染管線有個1貼圖單元!也就是說GeForce4 TI4200有4PS,8TMU,2VS,FX5800/5900有4PS,8TMU,3VS,RADEON9700有8PS,8TMU,4VS,RADEON9000有4PS,4TMU,1VS.PS是像素單元Pixel Shader Unit,現

渲染管線

渲染管線

在咱們把PS定爲Pixel Shader Engine的簡寫即像素渲染管線;PSU則是Pixel Shader Unit或者叫Pixel Shader Processor即管線中的像素處理器單元)也就是說組成一條渲染管線至少要有1PS,1TMU,先這麼認爲。

看看6800U,具備6個頂點單元;16條渲染管線;16個光柵化引擎ROP,也就是說6800U有16PS,16TMU,16ROP,6VS,好,到此傳統的一條渲染管線是由包括1個Pixel Shader Unit(像素着色單元)+ 1個TMU(紋理單元) + 1個ROP(光柵化引擎)三部分組成的.PS:TMU:ROP=1:1:1,(用到GFTI4200等顯卡上是不成立的,這裏不作更多解釋)

編輯本段功能性

從功能上說PSU完成像素處理,TMU負責紋理渲染,而ROP則負責像素的最終輸出,換句話也就是說一條完整的像素管線意味着在一個時鐘週期完成至少進行1個PS運算,並輸出一個紋理一個像素,若是運用到6800U上,一個時鐘週期完成至少進行12個PS運算,並輸出12次紋理,12個像素。

來看看X1600,12個PS,4TMU,4ROP(ATI叫RBS,功能差很少)在構架上,X1600每4個像素單元一組,分紅3組,12個PS,X1600在一個時鐘週期完成12個PS運算,只能輸出4次紋理,4個像素(ATI在R300以來就使用獨立紋理單元,TMU不在PS內,NVidia每一個Pixelshader內包含一個TMU,)換句話說X1600在PS運算上等同於12流水線顯卡,但在紋理渲染和像素輸出上等同於4管線顯卡,因此認爲X1600是4管的顯卡! 

至於G70,24PS,24TMU,16ROP,若是按照傳統G70也不是24管線的,由於G7016ROP,(16ROP,顯存位寬是256bit,24ROP,384bit的顯存位寬。32ROP,512bit的顯存位寬)而不能達到傳統的,PS:TMU:ROP=1:1:1 

相關文章
相關標籤/搜索