2016-08-23 24 views
0

所以这是我的第一个应用程序,我被卡住,将近一个星期,我不能找到一个解决方案。我为不同角色创建了很多动画,并发现我的游戏内存使用量大约为200 MB。在我不担心这个之前,因为和很多初学者一样,我认为在压缩我的png纹理后,这个尺寸也会减小。但是那没有发生。于是我开始搜索我能做些什么,并发现将纹理格式从默认RGBA8888更改为RGBA4444可将内存使用量减少近一半。如何更改assets.xassets创建纹理格式RGBA4444雪碧阿特拉斯

我找到了答案Sprite Kit Texture Atlas: Define Image Format (RGBA4444, RGB565, …),它说,你可以将输出格式从Build设置更改>输出纹理地图格式。但是这对我不起作用,因为我的图集是在assets.xassets文件夹中创建的。只有在项目文件夹中创建了一个图集,而不是在assets.xassets文件夹中时,“构建设置>输出纹理图集格式”设置才存在。

所以我的下一步是手动更改的纹理格式在TexturePacker。我这样做了,但问题是当我将这些新纹理添加回assets.xassets文件夹时,即使它们的质量很低,但它们仍具有与使用RGBA8888格式的纹理相同的内存使用率。

我读了大量的资源,但没有发现有关如何更改输出纹理地图集格式,如果雪碧Atlas是在assets.xassets文件夹中的任何信息。

所以在这一点上,我不知道该怎么办,我的问题是 - 我怎样才能改变纹理格式RGBA4444我雪碧地图集在assets.xassets文件夹?提前致谢。

回答

0

在我与SpriteKit测试中,我发现,所有纹理都被加载到内存中RGBA8888(32bpp的意思)。纹理打包可能会将数据存储在磁盘上,每个组件4位,但在运行时,每个组件以8位加载到内存中并不重要。如果您对减少运行时内存使用感兴趣,请查看:this SO answer了解有关SpriteKit的内存减少着色器的信息。