我正在尝试编写一个libgdx livewallpaper(OpenGL ES 2.0),它将显示一个独特的背景图像(不可分割为精灵)。
我想定位平板电脑,所以我需要能够以某种方式显示至少 1280x800 背景图像,其中还会发生更多动作,所以我需要它以快速渲染尽可能。
现在我只有关于libgdx和opengl es的基本知识,所以我不知道解决这个问题的最佳方法是什么。
通过谷歌搜索,我发现了一些选择:
同样,这里的主要观点是我的表现 - 因为绘画背景预计是最基本的东西,更多动画将在它之上!
随着平板电脑屏幕尺寸的增大,我很快就会想要能够舒适地渲染更大的图像尺寸:)
非常感谢任何建议! :)
答案 0 :(得分:3)
许多平板电脑(和一些手机)支持2048个纹理。将它绘制成一个整体将是最快的选择。如果您仍然需要100%确定,那么只要GL_MAX_TEXTURE小于(640x400),您就可以将背景分为2个部分。
'未来'表格肯定会支持更大的纹理,所以不要太担心它。
对于实际绘图,只需创建一个尽可能使用VBO的libgdx网格! ;)
你没有提到的两件事对于表演非常重要。纹理过滤器(GL_NEAREST是最丑的,如果你不做像素完美的映射,但最快),纹理格式(RGBA_8888将是最好和最慢的,你可以降级它,直到它适合你的需要 - 至少你可以删除alpha,不是吗?)。
您还可以研究压缩格式,这会大大降低填充率!
我建议你开始编码,然后调整性能。您遇到的这个特殊问题并不难以在以后进行优化。