【问题标题】:Low FPS for large merged mesh大型合并网格的低 FPS
【发布时间】:2019-08-05 15:37:12
【问题描述】:

我尝试渲染一组 3d 模型。我将网格合并为一个具有 200k 个顶点的网格。具有位置、法线和纹理坐标属性。我使用VBO,但不使用索引缓冲区对象。我只做 2 个渲染调用(一个用于阴影)。我用libgdx

我希望我的弱Galaxy j3 (2016) 上的合并网格能获得良好的 FPS,但我得到了 13 FPS。 在 Galaxy s8 和 nexus 5 上,我得到了 60 FPS。

那么问题出在哪里?
Galaxy j3 对于 20 万个顶点来说是不是太弱了?
或者 200k 顶点是太大的网格?

Galaxy J3 特性:
CPU:展讯 SC9830I 四核,1.5 ГГц。
内存:1.5 Gb。
GPU:ARM Mali-400 MP2。

【问题讨论】:

    标签: android opengl-es libgdx opengl-es-2.0 mali


    【解决方案1】:

    Mali-400 是一种旧设计,具有一个非常单一的顶点处理器,它不会随着核心数量的增加而扩展,因此它肯定会与顶点复杂度作斗争,其中复杂度为 shader cost * vertex count

    值得注意的是,将所有内容合并到一个平局中通常会适得其反。您希望将绘图调用数减少到 CPU 可以处理的数量,但是一旦您的绘图调用少于几百个,它就不太可能为您带来太多收益,并且您会浪费很多机会。例如,您失去了在 CPU 上剔除截锥体对象的能力,即使在更现代的 GPU 上,这也是强烈推荐的最佳实践。

    【讨论】:

      猜你喜欢
      • 2014-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-08
      • 2013-11-10
      • 2018-04-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多