GPU Gems2 - 6 用多流来优化资源管理(Optimizing Resource Management with Multistreaming)
本文摘自https://zhuanlan.zhihu.com/p/38411575
【章節(jié)概覽】
?
現(xiàn)代實時圖形應(yīng)用程序最困難的問題之一是必須處理龐大的數(shù)據(jù)。復(fù)雜的場景結(jié)合多通道的渲染,渲染起來往往會較為昂貴。
首先,多流(Multistreaming)技術(shù)由微軟在DirectX 8.0中引入。而這章介紹了一種用多流來優(yōu)化資源管理的解決方案,可以用來處理龐大的數(shù)據(jù),且在每個通道中只傳輸當(dāng)前需要的頂點分量。
?
【核心要點】
?
這章介紹了當(dāng)前的應(yīng)用程序如何克服由于場景中幾何體數(shù)據(jù)的增加所引起的問題。文中的討論基于一個使應(yīng)用程序?qū)?shù)據(jù)有更多控制的靈活模型—多流(Multistreaming),
這個方案聯(lián)合了兩項強大的技術(shù),已經(jīng)在名為Gothic III的引擎中實現(xiàn):一些頂點緩沖區(qū)通過多流聯(lián)合,而且所有頂點緩沖區(qū)都由一個優(yōu)化的資源管理器控制。
此方法的好處是:帶寬有時可能受限于系統(tǒng)內(nèi)存和GPU之間的總線,因為傳輸了重復(fù)或多余的數(shù)據(jù),而現(xiàn)在此方法為數(shù)據(jù)有效地控制了帶寬。
G – 用于幾何體數(shù)據(jù)的頂點流。包含頂點位置、法線和(多個)頂點顏色。
T – 用于紋理映射數(shù)據(jù)頂點流。包含紋理坐標(biāo)系和附加數(shù)據(jù),如正切空間法線映射的正切向量。
A – 用于動畫數(shù)據(jù)的頂點流。包含動畫數(shù)據(jù),如骨骼權(quán)重和相關(guān)因素。
I – 用于實例數(shù)據(jù)的頂點流。 包含頂點流頻率實例數(shù)據(jù)。
而這四種流的子集結(jié)合起來可以處理不同的任務(wù),如下圖。
- 渲染沒有動畫的網(wǎng)格
可能的流組合: G或者G+T
- 渲染有動畫的網(wǎng)格
可能的流組合: G+A或者G+T+A
- 渲染實例的網(wǎng)格(可選包含動畫)
可能的流組合:G+I或G+T+I(可選:G+A+I或G+T+A+I)
- 渲染純的Z通道(可選有或者沒有實例,可選有或沒有動畫)
可能的流組合 G(可選 :G+A 或 G+I 或 G+A+I)
原文中對上述的思路用DirectX 9.0c進(jìn)行了實現(xiàn)。
?
【關(guān)鍵詞】
資源管理(Resource Management)
多流(Multistreaming)
頂點流(Vertex stream)
?
總結(jié)
以上是生活随笔為你收集整理的GPU Gems2 - 6 用多流来优化资源管理(Optimizing Resource Management with Multistreaming)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GPU Gems2 - 4 分段缓冲(S
- 下一篇: Bent Normal