0

我们刚刚在 Unity 2D 中完成了一个 2D 游戏,但正在努力解决一些与内存相关的严重问题。

使用的 Unity 版本:Unity 2017.2.2f1

我们正在使用 AssetBundles 和 On Demand Resource 下载每个平均大小为 20MB 的包(纹理、精灵表、bg 图像和场景)。

我们已经成功地将我们的应用商店大小限制为 90MB。在 Xcode 中分析项目时,构建占用的初始内存为 180 MB。但是现在当我们通过按需资源下载任何级别(资产包)时问题就开始了。内存使用量从 180MB 跃升至 568MB。

1.为什么unity在下载加载20MB大小的AssetBundle后会消耗388MB内存?

2.为什么每次我们加载一个新场景,unity卸载场景后都会保留一些内存,即不清除分配的块?

3. RGBA Compressed PVRTC 4 bits 在 Unity 中是否适用于 iOS 设备?

5.Unity有没有第三方SDK来压缩2D Textures和GUI Graphics?

请帮助我,以便我可以以其他方式将项目交付给客户,我的工作处于危险之中:(

提前致谢 。

4

1 回答 1

0
  1. 检查您的资产包压缩以及如何加载您的资产包。压缩的资产包完全在内存中解压缩,因此建议对包使用未压缩或基于块的压缩以避免内存峰值。
  2. Unity 使用托管内存加载和卸载东西会导致一些内存泄漏,因为 GC 几乎控制着一切。
  3. PVRTC 适用于所有 IOS 设备。
  4. 由于您的目标是 iOS PVRTexTool 是您需要的 PVRTexTool 下载
于 2018-04-26T10:55:57.853 回答