我很震惊地发现我刚创建的游戏占用了330万兆字节。根据编辑日志,我的纹理应该归咎于:
从列表中我开始使用Chieftain Walk动画spritesheet。文件很大,所以我在Photoshop中打开它并大大降低了图像分辨率。
然而,即使在Photoshop中保存后,编辑器日志声称纹理占用了相同的内存量。我做错了什么,以及编辑日志何时更新?是在建立游戏吗?非常感谢。
答案 0 :(得分:3)
首先,您不需要降低实际PNG文件的分辨率。当Unity构建播放器时,它会将导入的未压缩文件存储在可执行文件附近的Data文件夹中。纹理的大小将与导入器设置中的大小相同。默认情况下,如果我没记错的话,它是2048x2048。如果更改纹理的导入器设置,PNG文件将保持不变(在编辑器中),但纹理对象(在实际独立中使用)将变得更小。
另外,为什么你没有使它平方有什么特别的原因?像512x512。总是使它成为正方形和2的幂。如果没有,Unity将无法对你的精灵进行任何优化
编辑:
这是纹理导入设置,将最大尺寸设置为更低,游戏将占用更少的内存(在游戏运行时,无论是在硬盘中还是在RAM / GPU中)。您还可以添加压缩级别,它将占用更少的内存,但加载时间会更长(在游戏中)。加载时将占用与非压缩相同数量的RAM / GPU内存。应用程序大小的胜利,负载性能的损失。 (测试一下,选择最适合你的方式)
为什么功率为2和平方,好吧:
通过确保纹理尺寸是2的幂,图形管线可以利用与使用2的幂的效率相关的优化。例如,分割和乘以2的幂可以更快。统一创建mip-map也会更容易(如果纹理不是正方形,它们可能会占用更多内存)。互联网上有许多关于mip-mapping的消息来源。