内存使用 - 大图像

时间:2011-07-04 15:27:57

标签: iphone cocos2d-iphone tiles

我正在使用Tiled切割我的大图像以节省内存,但它使用相同的数量?我的图像是1986 x 1562像素的PNG格式,在游戏过程中占用了31MB的内存。当我使用tilemap时,它是TMX格式的180 x 120个图块,使用31MB。我只是做错了吗?我将TMX文件与PNG文件一起放在我的项目中。

我不明白。在我的应用程序中,我将有大约10个大小的图像。我该怎么办?

1 个答案:

答案 0 :(得分:0)

首先,任何早于3GS的iPhone的最大纹理尺寸为1024x1024。您的游戏将在旧设备上崩溃。其次,OpenGL在创建纹理时将纹理大小四舍五入到最接近的2的幂。你的1986x1562纹理实际上是2048x2048,这是4 megs pop。

您的应用在加载一个纹理后使用31 megs可能是由于其他因素造成的。除非你带回一个空白的项目,只是加载其中一个怪异的纹理,但你仍然有31兆,我说它是别的。

您应该做的是将纹理逻辑分组为多个1024x1024的图像。并使用Xcode的分析工具来确定内存的去向。