我正在为iPod / iPhone制作一个openGL游戏。
开始时我立即加载我需要的所有纹理。在第一次加载时间很小,但随着我不断开发和添加新纹理,加载时间一直在增加,到游戏开始前需要几秒钟。
最近出现了一个新问题,当我在设备中构建游戏时需要太长时间才能退出游戏。在应用程序安装正确,我可以测试它,但从未连接到xcode。有时即使应用程序退出,当屏幕上有太多元素出现时。
现在我使用6个文件,总共大约2 Mbs。
是否有表格可以创建加载屏幕?
我可以采取哪些其他措施来解决这个问题?
答案 0 :(得分:2)
如果您在启动时使用Core Graphics解码PNG文件,我建议使用PVRTexTool来创建PVR数据文件。 PVR文件的内容可以直接上传到OpenGL;无需使用Core Graphics对其进行解码。
PVRTexTool也可以做一些简洁的事情,比如生成mipmap(启动时你可能想要避免的另一件事)和编码为压缩格式(减少纹理大小也会有帮助)。
答案 1 :(得分:0)
除了将纹理编码为PVR纹理外,还有一些解决方案。
一种是将纹理加载延迟到稍后的点。让您的应用程序显示其用户界面,并在您加载纹理时向用户显示进度条。这将阻止iPhoneOS杀死您的应用。
您可能还需要研究您正在创建的纹理类型。有些格式比你的其他格式要贵得多:png:s。
作为最后的手段,您可以将纹理保存为未压缩的原始纹理。这将使您的应用程序更大,但减少加载时间。