-1
我正在创建基于瓦片的渲染器,其中每个瓦片都有一个顶点模型。但是,从每个顶点模型只有一小部分在一帧中渲染。这些子集改变每一帧。大缓冲区开关与小缓冲区开关的成本
什么是最快的方式来渲染?我可以考虑以下选项:
- 为每个模型进行一次绘制调用。每个模型都存储在gpu上。对于每次平局,每次都会切换完整的vbo。然后使用索引为实际渲染选择合适的小部分。
- 使用一个vbo进行一次绘制调用,通过复制所有其他vbos(必须在vram中复制数据)的必要(小)子集来获得每帧的组合。
- 使用一个vbo进行一次绘制调用,但是vbo是使用glBufferData从CPU数据的每个帧(小)中重新创建的。
你认为哪个最快,或者你能想到更快的东西?
一个决定因素很明显,如果在较大的VBO之间切换比在较小的VBO之间切换更昂贵。
只需测量它! – knivil