0

所以这是我的第一个应用程序,我被卡住了,将近一周我找不到解决方案。我为不同的角色创建了很多动画,发现我的游戏的内存使用量约为 200 mb。在我不担心这个之前,我认为在我压缩我的 png 纹理之后,这个大小也会减小。但那并没有发生。所以我开始搜索我能做些什么,发现将纹理格式从默认的 RGBA8888 更改为 RGBA4444 可以将内存使用量减少近一半。

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

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

如果 Sprite Atlas 位于 assets.xassets 文件夹中,我已经阅读了很多资源,但没有找到有关如何更改输出纹理图集格式的任何信息。

所以此时我不知道该怎么做,我的问题是 - 如何将我的 Sprite Atlases 在 assets.xassets 文件夹中的纹理格式更改为 RGBA4444?提前致谢。

4

1 回答 1

1

在我对 SpriteKit 的测试中,我发现所有纹理都以 RGBA8888(意思是 32BPP)的形式加载到内存中。纹理打包可能会将数据以每个组件 4 位的形式存储在磁盘上,但是在运行时以每个组件 8 位的速度加载到内存中时,这并不重要。如果您对减少运行时内存使用的方法感兴趣,请查看:this SO answer for info about a memory reduction shader for SpriteKit。

于 2016-10-08T02:50:29.693 回答