Mali GPU: 抽象機(jī)器(二) C 基于區(qū)塊的渲染
任何基于區(qū)塊的渲染方案的主要額外開銷是從頂點(diǎn)著色器到片段著色器的交接點(diǎn)。幾何處理階段的輸出、各頂點(diǎn)可變數(shù)和區(qū)塊中間狀態(tài)必須寫出到主內(nèi)存,再由片段處理階段重新讀取。因此,必須要在可變數(shù)據(jù)和區(qū)塊狀態(tài)消耗的額外帶寬與幀緩沖數(shù)據(jù)節(jié)省的帶寬之間取得平衡。
當(dāng)今的現(xiàn)代消費(fèi)類電子設(shè)備正大步向更高分辨率顯示屏邁進(jìn);1080p 現(xiàn)在已是智能手機(jī)的常態(tài),配備Mali-T604 的 Google Nexus 10 等平板電腦以 WQXGA (2560x1600) 分辨率運(yùn)行,而 4k2k 正逐漸成為電視機(jī)市場上新的“不二之選”。屏幕分辨率以及幀緩沖帶寬正快速發(fā)展。在這一方面,Mali 確實(shí)表現(xiàn)出眾,而且以對應(yīng)用程序開發(fā)人員基本透明的方式實(shí)現(xiàn) - 無需任何代價(jià),就能獲得所有這些好處,而且還不用更改應(yīng)用程序!
在幾何處理方面,Mali 也能處理好復(fù)雜度。許多高端基準(zhǔn)測試正在接近每幀百萬個(gè)三角形,其復(fù)雜度比 Android 應(yīng)用商店中的熱門游戲應(yīng)用程序高出一個(gè)(或兩個(gè))數(shù)量級。然而,由于中間幾何數(shù)據(jù)的確到達(dá)主內(nèi)存,所以可以應(yīng)用一些有用的技巧和訣竅,來優(yōu)化 GPU 性能并充分發(fā)揮系統(tǒng)能力。這些技巧值得通過一篇博文來細(xì)談,所以我們會在這一系列的后續(xù)博文中再予以介紹。
小結(jié)
在這篇博文中,我比較了桌面型直接模式渲染器與 Mali 所用的基于區(qū)塊方式的異同,尤其探討了兩種方式對內(nèi)存帶寬的影響。
評論