我正在使用 opengl 和 cocos2d 端口 (http://code.google.com/p/cocos2d-android-1) 创建一个安卓游戏。我的目标是各种设备,并希望确保它表现良好。我只在 nexus one 上进行测试,希望能从有使用较慢设备经验的人那里得到一些意见。
目前游戏使用两个 1024x1024 纹理以及两个 256x256 纹理。这是否在大多数设备的限制范围内?在这些情况下,任何人对图形内存限制有任何经验或经验吗?如果超出 gfx 内存,它会分页到正常内存吗?
最佳答案
Java 应用程序是 16Mo (mdpi) 或 24Mo (hdpi)。但是 Native 不是,OpenGL Java API 只是一个 JNI 包装器。所以你可以在 GPU 上加载超过 24Mo 的纹理。我的经验是一开始将 Atlas 限制在 512*512(因为 G1 在大纹理上很慢)但是今天我使用了更大的 atlas 纹理。
我们目前的游戏使用 20-50 Mo of ram 并使用 2048*2048 纹理。
关于Android 图形内存限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4495613/