Android OpenGL-ES 3D游戏优化

时间:2011-04-25 15:27:10

标签: android opengl-es

我有一个游戏引擎,但速度很慢。我在我的星系上得到了一个60-80个带纹理的正方形(两个带有混合的三角形),大约30-40 FPS。这是一个动态壁纸。 80件物品上我的传奇只有10-20 FPS ...

我使用了VBO,剔除和其他优化。 (我试过纹理图集,速度与绑定纹理相同......)

我能在那里做什么?

1,如果我使用原生的opengl渲染代码,那会加快我的渲染速度吗? 2,如果我使用PVRTC压缩纹理,而不是png-s,那会加快渲染速度吗?我怎么能这样做?

我该怎么办?

2 个答案:

答案 0 :(得分:1)

是的...我相信如果切换到使用NDK for OpenGL,你应该会看到大幅提升。至于PVRTC ...我不是百分之百确定这是否可行。这是针对PowerVR芯片组优化的格式......所以是的......这对于Galaxy S的各种手机来说都很棒......但是每个配备Snapdragon处理器的手机都运行不同的GPU(Adreno)。我不知道Adreno GPU是否会充分利用它。

答案 1 :(得分:1)

据我所知,没有GPU本身支持PNG图像作为纹理格式。它们总是被API /驱动程序解压缩到ARGB(可能是@ 32bpp),因此在内存空间方面会受到冲击,更重要的是,带宽消耗会受到影响。 PNG实际上只会减少应用程序和闪存存储空间的分配。

如果您对图像质量不是非常痴迷,使用某种形式的(有损)纹理压缩,比如PVRTC(4bpp或2bpp),或者可能是ETC(4bpp),可能会获得性能。