Android 在 OpenGL ES 1.0 上更快地绘制地段对象

Drawing lot object faster on OpenGL ES 1.0 on Android

我正在开发基于 OpenGL ES 1.0 的项目,它绘制了很多正方形并具有不同的颜色。

我做了很多事情来优化绘图代码,比如禁用灯光或禁用 [​​=17=]、启用 CULL_FACE 和其他。

但是我找不到更多的解决方案来更快地绘制一帧来绘制大约 38000 个正方形对象。在 ES 1.0 中是否有更快地绘制地段对象或插值库的解决方案?我卡在这里好久了。

OpenGL ES 1.x 是一个比较老的 API 并且有很多限制,其中一个是相对较高的 CPU 开销。我强烈建议使用 OpenGL ES 2.0 或更新版本,无论是从性能角度还是从未来的兼容性角度来看。

如果您必须使用 OpenGL ES 1.x,您确实需要使用顶点缓冲对象。有关详细信息,请参阅此 post:

Drawing using Vertex Buffer Objects in OpenGL ES 1.1 vs ES 2.0

...并对您的网格进行批处理以减少您进行的唯一绘制调用的数量