【问题标题】:Drawing lot object faster on OpenGL ES 1.0 on Android在 Android 上的 OpenGL ES 1.0 上更快地绘制批次对象
【发布时间】:2018-07-05 09:19:09
【问题描述】:

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

我做了很多事情来优化绘图代码,比如禁用灯光或禁用 DEPTH_TEST,启用 CULL_FACE 等等。

但是我找不到更多的解决方案来更快地绘制一帧以绘制大约 38000 个正方形对象。是否有任何解决方案可以更快地绘制批次对象,或者 ES 1.0 中的插值库?我被困在这里很久了。

【问题讨论】:

  • 您可以通过展示/解释您如何调用 OpenGL ES 以及您如何测试(设备/模拟器)来改进您的问题。

标签: android performance opengl-es graphic


【解决方案1】:

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

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

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

...并批处理您的网格,以减少您正在进行的独特绘制调用的数量

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-26
    • 1970-01-01
    • 2016-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多