gpu的渲染流程是怎樣的?有何優(yōu)勢?
在下述的內(nèi)容中,小編將會對GPU的相關(guān)消息予以報道,如果GPU是您想要了解的焦點之一,不妨和小編共同閱讀這篇文章哦。
一、GPU渲染流程
GPU的渲染流水線的主要任務(wù)是完成3D模型到圖像的渲染(render)工作,典型的渲染過程可以分為以下幾個階段:
1.頂點生成
圖形學(xué)API用簡單的圖元(點、線、三角形)表示物體表面。每個頂點除了( x , y , z ) 三維坐標(biāo)屬性外還有應(yīng)用程序自定義屬性,例如位置、顏色、標(biāo)準(zhǔn)向量等。
2.頂點處理
本階段主要是通過計算把三維頂點坐標(biāo)映射到二維屏幕,計算各頂點的亮度值等。這個階段是可編程的,由vertex shader完成。輸入與輸出一一對應(yīng),即一個頂點被處理后仍然是一個頂點,各頂點間的處理相互獨立,可以并行完成。
3.圖元生成
根據(jù)應(yīng)用程序定義的頂點拓?fù)溥壿?,把上階段輸出的頂點組織起來形成有序的圖元流。頂點拓?fù)溥壿嫸x了圖元在輸出流中的順序,一個圖元記錄由若干頂點記錄組成。
4.圖元處理
這一階段也是可編程的,由geometry shader完成。輸入和輸出不是一一對應(yīng),一個圖元被處理后可以生成0個或者多個圖元,各圖元處理也是相互獨立的。本階段輸出一個新的圖元流。
5.片元生成
這一階段將對每一個圖元在屏幕空間進(jìn)行采樣,即光柵化。每一個采樣點對應(yīng)一個片元記錄,記錄該采樣點在屏幕空間中的位置、與視點之間的距離以及通過插值獲得的頂點屬性等。
6.片元處理
片元處理階段是可編程的,由pixel shader完成,主要完成圖形的填色功能。模擬光線和物體表面的交互作用,決定每個片元的顏色及透明程度等屬性。
7.像素操作
用每個片元的屏幕坐標(biāo)來計算該片元對最終生成圖像上的像素的影響程度。本階段計算每個采樣點離視點的距離,丟棄被遮擋住的片元。當(dāng)來自多個圖元的片元影響同一個像素時,往往都根據(jù)圖元處理輸出流中定義的圖元位置進(jìn)行像素更新。
二、GPU渲染優(yōu)勢
GPU 有數(shù)千個以相對較低的時鐘速度運行的小內(nèi)核。在這種情況下,正是這些核心的數(shù)量讓 GPU 能夠提供強(qiáng)大的渲染性能。GPU 本質(zhì)上被設(shè)計為以并行方式運行任務(wù)。這使它們比 CPU 更具優(yōu)勢,因為渲染是一項通常涉及許多元素的任務(wù)。因此,GPU 以其極快的渲染時間而聞名。
快速渲染允許 GPU 實時處理圖形,這就是為什么您會發(fā)現(xiàn)現(xiàn)代視頻游戲使用 GPU 運行起來更加流暢。與游戲行業(yè)一起,GPU 已經(jīng)徹底改變了加密、大數(shù)據(jù)、人工智能和機(jī)器學(xué)習(xí)領(lǐng)域。
GPU 渲染在許多領(lǐng)域逐漸普及,正在挑戰(zhàn)傳統(tǒng)的 CPU 渲染系統(tǒng)。Autodesk 的 Arnold 推出了他們的GPU 渲染引擎,認(rèn)識到其巨大潛力。
GPU 渲染允許同時運行更多的并行進(jìn)程,這使其速度更快,但它可以執(zhí)行的任務(wù)數(shù)量有限。因此,在渲染具有許多對象的大型、詳細(xì)場景時,它就沒有那么強(qiáng)大了。另一方面,CPU 渲染不允許并行進(jìn)程,但它可以執(zhí)行更多不同的任務(wù),從而呈現(xiàn)更多細(xì)節(jié)。Mythbusters 的演示中展示了兩種渲染類型之間的區(qū)別。
GPU 并行運行任務(wù),這通常會提高速度,因為可以同時渲染場景的各種元素。這會導(dǎo)致更快的周轉(zhuǎn)并有助于重復(fù)過程.
GPU 也主要用于需要實時染的領(lǐng)域 (如視頻游戲)。
與性能級 CPU 相比,GPU 接近價格范圍的低端。一個好的 GPU,比如RTX 3090,可以花費大約 1500 美元,而像Threadripper 3990x這樣強(qiáng)大的 CPU 的價格是 5000 美元。GPU 還在升級方面為您提供優(yōu)勢。您只需將另一個 GPU 連接到您預(yù)先存在的設(shè)置,就可以了。當(dāng)您希望使用 CPU 進(jìn)行升級時,除了 CPU 的成本之外,您可能還需要投資購買更多兼容的硬件。
經(jīng)由小編的介紹,不知道你對GPU是否充滿了興趣?如果你想對它有更多的了解,不妨嘗試度娘更多信息或者在我們的網(wǎng)站里進(jìn)行搜索哦。