-1
我正在創建基於瓦片的渲染器,其中每個瓦片都有一個頂點模型。但是,從每個頂點模型只有一小部分在一幀中渲染。這些子集改變每一幀。大緩衝區開關與小緩衝區開關的成本
什麼是最快的方式來渲染?我可以考慮以下選項:
- 爲每個模型進行一次繪製調用。每個模型都存儲在gpu上。對於每次平局,每次都會切換完整的vbo。然後使用索引爲實際渲染選擇合適的小部分。
- 使用一個vbo進行一次繪製調用,通過複製所有其他vbos(必須在vram中複製數據)的必要(小)子集來獲得每幀的組合。
- 使用一個vbo進行一次繪製調用,但是vbo是使用glBufferData從CPU數據的每個幀(小)中重新創建的。
你認爲哪個最快,或者你能想到更快的東西?
一個決定因素很明顯,如果在較大的VBO之間切換比在較小的VBO之間切換更昂貴。
只需測量它! – knivil