圖形處理器GPU將是下述內(nèi)容的主要介紹對象,通過這篇文章,小編希望大家可以對圖形處理器GPU的相關(guān)情況以及信息有所認識和了解,詳細內(nèi)容如下。
一、GPU的工作原理
在GPU出現(xiàn)以前,顯卡和CPU的關(guān)系有點像“主仆”,簡單地說這時的顯卡就是畫筆,根據(jù)各種有CPU發(fā)出的指令和數(shù)據(jù)進行著色,材質(zhì)的填充、渲染、輸出等。
那么,GPU的工作原理是什么?
簡單的說GPU就是能夠從硬件上支持T&L(Transform and Lighting,多邊形轉(zhuǎn)換與光源處理)的顯示芯片,因為T&L是3D渲染中的一個重要部分,其作用是計算多邊形的3D位置和處理動態(tài)光線效果,也可以稱為“幾何處理”。一個好的T&L單元,可以提供細致的3D物體和高級的光線特效;只不過大多數(shù)PC中,T&L的大部分運算是交由CPU處理的(這就也就是所謂的軟件T&L),由于CPU的任務(wù)繁多,除了T&L之外,還要做內(nèi)存管理、輸入響應(yīng)等非3D圖形處理工作,因此在實際運算的時候性能會大打折扣,常常出現(xiàn)顯卡等待CPU數(shù)據(jù)的情況,其運算速度遠跟不上今天復(fù)雜三維游戲的要求。主機總線接口模塊收到來自PCI總線的讀寫操作,包括對寄存器的讀寫操作和對顯示存儲的讀寫操作,完成對寄存器的初始化后,基本圖形模式能夠正常輸出顯示。打開視頻采集寄存器后能夠?qū)崟r采集顯示視屏圖像窗口。
即使CPU的工作頻率超過 1GHz或更高,對它的幫助也不大,由于這是PC本身設(shè)計造成的問題,與CPU的速度無太大關(guān)系。
二、實例闡述GPU渲染流程
下面以繪制一朵玫瑰為例來說明GPU圖形流水線的工作流程。
首先,GPU從顯存讀取描述玫瑰3D外觀的頂點數(shù)據(jù),生成一批反映三角形場景位置與方向的頂點;
由vertex shader計算2D坐標和亮度值,在屏幕空間繪出構(gòu)成玫瑰的頂點;
頂點被分組成三角形圖元;
geometry shader進行進一步細化,生成更多圖元;
隨后,GPU中的固定功能單元對這些圖元進行光柵化,生成相應(yīng)的片元集合;
由pixel shader從顯存中讀取紋理數(shù)據(jù)對片元上色和渲染;
最后一個階段,根據(jù)片元信息更新玫瑰圖像,主要是可視度的處理。
由ROP完成像素到幀緩沖區(qū)的輸出,幀緩沖區(qū)中的數(shù)據(jù)經(jīng)過D/A輸出到顯示器上以后,就可以看到繪制完成的玫瑰圖像了。
圖形渲染過程具有內(nèi)在的并行性:頂點之間、圖元之間、片元之間的數(shù)據(jù)相關(guān)性很弱,對它們的計算可以獨立并行進行。這使得通過并行處理提高吞吐量成為可能。
首先,渲染流水線具有時間上的功能并行。流水線的各級可以同時工作,當各級都能滿負荷工作時,能夠獲得最高性能。
其次,渲染流水線具有數(shù)據(jù)并行性。不僅可以通過SIMD提高每一個可編程著色器的性能,還可以在一個GPU內(nèi)集成多條渲染流水線實現(xiàn)更高的吞吐量。
總結(jié)一下,GPU渲染流程可以概括為以下內(nèi)容:
1.頂點生成
2.頂點處理
3.圖元生成
根據(jù)應(yīng)用程序定義的頂點拓撲邏輯,把上階段輸出的頂點組織起來形成有序的圖元流。頂點拓撲邏輯定義了圖元在輸出流中的順序,一個圖元記錄由若干頂點記錄組成。
4.圖元處理
5.片元生成
這一階段將對每一個圖元在屏幕空間進行采樣,即光柵化。每一個采樣點對應(yīng)一個片元記錄,記錄該采樣點在屏幕空間中的位置、與視點之間的距離以及通過插值獲得的頂點屬性等。
6.片元處理
片元處理階段是可編程的,由pixel shader完成,主要完成圖形的填色功能。模擬光線和物體表面的交互作用,決定每個片元的顏色及透明程度等屬性。
7.像素操作
最后,小編誠心感謝大家的閱讀。你們的每一次閱讀,對小編來說都是莫大的鼓勵和鼓舞。希望大家對圖形處理器GPU已經(jīng)具備了初步的認識,最后的最后,祝大家有個精彩的一天。