2

一般来说,直接使用 OpenGL ES 绘制 2D 转换(我猜是使用对 modelview 的调用)或通过动画(从同一个纹理图集中绑定一系列不同的纹理)是性能最优吗?

我的预感是坚持使用相同的纹理并使用 OpenGL ES 对其进行转换会更优化,但我不确定我需要多少动画,所以我需要知道它是否以及为什么会更优化。

4

2 回答 2

0

我不确定您打算如何使用动画纹理准确实现转换。但总的来说,是的,直接进行 2D 转换(我认为使用顶点着色器)效率更高。使用动画纹理,您需要支付上传整个纹理集的带宽成本,以及来自更大工作纹理集的纹理缓存压力。另一方面,2D 转换可能只是每帧的着色器统一更新。

于 2013-02-01T18:12:39.427 回答
0

您是想创建类似 spritesheet 动画的东西还是只是移动一个对象?

例如,在我的游戏中,我有一辆在路上行驶的汽车。我有四个纹理来模拟纺车。我在 GPU 中创建了 VBO,并使用相同的顶点不断更改纹理处理程序。我使用模型视图矩阵移动汽车。

提高性能的是在 GPU 中使用 VBO,并避免每帧绑定顶点数组。

于 2013-02-01T17:54:10.667 回答