我尝试渲染一组3D模型。我将网格合并为一个具有20万个顶点的网格。具有位置,法线和纹理坐标属性。我使用VBO
,但不使用索引缓冲区对象。我只进行2次渲染调用(一个用于阴影)。我使用libgdx
。
我期望弱Galaxy j3 (2016)
上的合并网格具有良好的FPS,但我得到了13 FPS。
在星系s8和nexus 5上,我得到了60 FPS。
那是什么问题?
Galaxy j3对于200k顶点来说太弱了吗?
还是200k顶点网格太大?
Galaxy J3特性:
CPU:Spreadtrum SC9830I Quad,1.5英寸。
内存:1.5 Gb。
GPU:ARM Mali-400 MP2。
答案 0 :(得分:1)
Mali-400是一个具有非常单一的顶点处理器的旧设计,该处理器不会随着内核数量的增加而扩展,因此它肯定会遇到顶点复杂性(复杂度为shader cost * vertex count
)的问题。
值得注意的是,将所有内容合并为一个平局通常会适得其反。您希望将抽奖电话的数量减少到CPU可以处理的数量,但是一旦您的抽奖电话不足几百次,就不太可能买很多东西,而您会丢掉很多机会。例如,您失去了清除CPU上的平截头对象的能力,即使在更现代的GPU上,也强烈建议您采用最佳做法。