GPU圖形處理器面臨什么問題?大佬帶你看GPU渲染過程
一直以來,GPU都是大家的關(guān)注焦點(diǎn)之一。因此針對大家的興趣點(diǎn)所在,小編將為大家?guī)鞧PU圖形處理器的相關(guān)介紹,詳細(xì)內(nèi)容請看下文。
一、GPU計(jì)算能力和計(jì)算模式方面的問題
當(dāng)前 GPU 的基礎(chǔ) ———傳統(tǒng) Z-buffer 算法不能滿足新的應(yīng)用需求。在實(shí)時(shí)圖形和視頻應(yīng)用中,需要更強(qiáng)大的通用計(jì)算能力,比如支持碰撞檢測、近似物理模擬;在游戲中需要圖形處理算法與人工智能和場景管理等非圖形算法相結(jié)合。當(dāng)前的GPU 的體系結(jié)構(gòu)不能很好地解決電影級(jí)圖像質(zhì)量需要解決的透明性、高質(zhì)量反走樣、運(yùn)動(dòng)模糊、景深和微多邊形染色等問題,不能很好的支持實(shí)時(shí)光線跟蹤、Reyes(Renders everything you ever saw) 等更加復(fù)雜的圖形算法,也難以應(yīng)對高質(zhì)量的實(shí)時(shí)3D圖形需要的全局光照、動(dòng)態(tài)和實(shí)時(shí)顯示以及陰影和反射等問題。需要研究新一代的 GPU 體系結(jié)構(gòu)突破這些限制。隨著 VLSI 技術(shù)的飛速發(fā)展 ,新一代 GPU芯片應(yīng)當(dāng)具有更強(qiáng)大的計(jì)算能力 ,可以大幅度提高圖形分辨率、場景細(xì)節(jié) (更多的三角形和紋理細(xì)節(jié))和全局近似度。圖形處理系統(tǒng)發(fā)展的趨勢是圖形和非圖形算法的融合以及現(xiàn)有的不同染色算法的融合。新一代的圖形系統(tǒng)芯片需要統(tǒng)一靈活的數(shù)據(jù)結(jié)構(gòu)、新的程序設(shè)計(jì)模型、多種并行計(jì)算模式。我們認(rèn)為發(fā)展的趨勢是在統(tǒng)一的、規(guī)則并行處理元陣列結(jié)構(gòu)上,用數(shù)據(jù)級(jí)并行、操作級(jí)并行和任務(wù)級(jí)并行的統(tǒng)一計(jì)算模式來解決當(dāng)前圖形處理系統(tǒng)芯片面臨的問題。
二、GPU圖形處理器渲染過程
GPU渲染流水線,是硬件真正體現(xiàn)渲染概念的操作過程,也是最終將圖元畫到2D屏幕上的階段。GPU管線涵蓋了渲染流程的幾何階段和光柵化階段,但對開發(fā)者而言,只有對頂點(diǎn)和片段著色器有可編程控制權(quán),其他一律不可編程。
簡單總結(jié)GPU管線,這階段中主要是對圖元進(jìn)行操作。首先,將由應(yīng)用階段加載到顯存中的頂點(diǎn)數(shù)據(jù)(由drawCall指定后)作為輸入傳遞給頂點(diǎn)著色器。接著,頂點(diǎn)著色器首先對圖元的每個(gè)頂點(diǎn)設(shè)置模型視圖變換及投影變換(即右乘MVP矩陣),然后將變換后的頂點(diǎn)按照攝像機(jī)視椎體定義(即透視投影,或正投影)進(jìn)行裁剪,將不在視野內(nèi)的頂點(diǎn)去掉并剔除某些三角面片。最后到幾何階段的屏幕映射,負(fù)責(zé)把修改過的圖元的坐標(biāo)轉(zhuǎn)換到屏幕坐標(biāo)系中(即投影到屏幕上)。
到光柵化階段,這一階段主要目的是將每個(gè)圖元轉(zhuǎn)換為多個(gè)片段,并生成多個(gè)片段的位置,由片段著色器負(fù)責(zé)計(jì)算每個(gè)片段的顏色值。同時(shí),在這階段片段著色器通常會(huì)要求輸入紋理,從而對每個(gè)片段進(jìn)行著色貼圖。每個(gè)片段在被發(fā)送到幀緩沖區(qū)之前,還會(huì)經(jīng)歷一些操作,這些操作可能會(huì)修改片段的顏色值,其中包括深度測試,模板測試,像素所有權(quán)測試,與當(dāng)前緩沖區(qū)相同位置顏色混合等等。
最后,幀緩沖區(qū)內(nèi)容被交換到屏幕進(jìn)行顯示。
三、手機(jī)的強(qiáng)制進(jìn)行GPU渲染是什么
安卓的軟件應(yīng)用的界面可以使用cpu或gpu渲染,包括桌面。由于gpu處理圖形比cpu好,所以gpu渲染應(yīng)用的界面會(huì)更流暢,同時(shí)減輕cpu的負(fù)擔(dān)。gpu強(qiáng)制渲染就是hwa(hard ware acceleration硬件加速)的一種,能夠得到更好的優(yōu)化。
在安卓3.0前,安卓都沒有強(qiáng)制gpu渲染,應(yīng)用在運(yùn)行前會(huì)多了一個(gè)檢測,檢查應(yīng)用是否支持gpu加速hwa,然后采用應(yīng)用默認(rèn)的cpu渲染或gpu渲染的方式。
在3.0之后,安卓在開發(fā)者選項(xiàng)里增加了強(qiáng)制gpu渲染,開啟Force GPU Rendering之后,系統(tǒng)不再檢查軟件是否支持HWA,一律使用GPU渲染界面,不僅減少檢測hwa的環(huán)節(jié),充分利用gpu,減輕cpu的負(fù)擔(dān),軟件和桌面提高幀數(shù),變得更流暢。
以上所有內(nèi)容便是小編此次為大家?guī)淼乃薪榻B,如果你想了解更多有關(guān)它的內(nèi)容,不妨在我們網(wǎng)站或者百度、google進(jìn)行探索哦。