为什么向图集添加纹理不会降低内存消耗?
Why is adding texture to atlas not lowering memory consumption?
我在 UI 中使用了一个 NPOT 精灵,Unity 是这样预览它的:
当我向其中添加 Packing Tag 时,Unity 会显示:
请注意,Unity 一直说它需要 8.2MB。我认为它会更少,但在分析我的应用程序时我发现它确实需要 8MB。
纹理是 NPOT,所以由于 PVRTC 压缩,我希望在添加到 sprite 时它会降低。它是 1399x2048,所以它应该适合 atlas 2048x2048 PVRTC,这大约需要 3MB。为什么这没有发生?
我使用的是 Unity 2018.1.7f1,旧版 Sprite Packer 已禁用。
我发现了问题所在。这部分是我对 Sprite Packer 工作原理的误解,部分是 Unity 的错:
正如我在问题中所说,legacy Sprite Packer 已禁用。 Packing Tags 与旧版 Sprite Packer 一起使用。我的项目设置为使用新的 Sprite Packer,它应该使用 .spriteatlas 文件来创建地图集(更多信息 here),因此没有创建地图集。
部分是 Unity 的错,因为它在预览 window 中错误地显示了我 "Compressed PVRTC",这让我认为它正在打包。
我在 UI 中使用了一个 NPOT 精灵,Unity 是这样预览它的:
当我向其中添加 Packing Tag 时,Unity 会显示:
请注意,Unity 一直说它需要 8.2MB。我认为它会更少,但在分析我的应用程序时我发现它确实需要 8MB。
纹理是 NPOT,所以由于 PVRTC 压缩,我希望在添加到 sprite 时它会降低。它是 1399x2048,所以它应该适合 atlas 2048x2048 PVRTC,这大约需要 3MB。为什么这没有发生?
我使用的是 Unity 2018.1.7f1,旧版 Sprite Packer 已禁用。
我发现了问题所在。这部分是我对 Sprite Packer 工作原理的误解,部分是 Unity 的错:
正如我在问题中所说,legacy Sprite Packer 已禁用。 Packing Tags 与旧版 Sprite Packer 一起使用。我的项目设置为使用新的 Sprite Packer,它应该使用 .spriteatlas 文件来创建地图集(更多信息 here),因此没有创建地图集。
部分是 Unity 的错,因为它在预览 window 中错误地显示了我 "Compressed PVRTC",这让我认为它正在打包。