Unity3D–Texture图片空间和内存占用分析

转载 2015年07月10日 11:31:48

Texture图片空间和内存占用分析。由于U3D并没有很好的诠释对于图片的处理方式,所以很多人一直对于图集的大小和内存的占用情况都不了解。在此对于U3D的图片问题做一个实际数据的分析。此前的项目都会存在这样或者那样的打包后包大小与内存占用情况的问题,所以这次所以彻彻底底得分析下U3D对于Texture的处理方式。程序里的内存优化请参考《Unity3d优化之路》。减少U3D包大小请参考《unity3d之如何将包大小减少到极致》

我打包多种类型的项目,空项目和10张放在Resources文件夹中的图为比较案例。以下是比较数据。

IPHONE:

1.空项目—-空间占用量42.3MB—-IPA大小10MB

2.10张1200*520无压缩Texure 单张图占用量2.8MB—-空间占用量70.2MB—-IPA大小22.9MB

3.10张1200*520压缩成1024*1024PVRTC4 单张图占用量0.5MB—-空间占用量47.3MB—-IPA大小13.2MB

4. 10张1024*1024无压缩Texture 单张图占用量4MB—-空间占用量82.3MB—-IPA大小14.6MB

5.10张1024*1024压缩为PVRTC4格式 单张图占用量0.5MB—-空间占用量47.3MB—-IPA大小11.6MB

 

宗上数据总结:

一、2的N次方大小的图片会得到引擎更大的支持,包括压缩比率,内存消耗,打包压缩大小,而且支持的力度非常大。

二、减小图片的占用大小和内存方式有:图片大小变化(Maxsize),色彩位数变化(16位,32位),压缩(PVRC)。

三、U3D对于图片的格式是自己生成的,而并不是你给他什么格式,他就用什么格式,一张1024*1024图在无压缩格式下,它会被U3D以无压缩文件形式存放,也就是说U3D里的Texture Preview里显示的占用大小**MB不只是内存占用大小,还是空间占用大小。如下图所示:

U3D的内部机制为自动生成图片类型来替换我们给的图片,在图片的压缩方式上需要进行谨慎的选择。

压缩格式在U3D的Component Reference里有介绍我就不再详细介绍,只介绍几个重点的:

RGBA32格式为无压缩最保真格式,但也是最浪费内存和空间的格式。Automatic Turecolor和它一个意思。

RGBA16格式为无压缩16位格式,比32位节省一半的空间和内存。Automatic 16bits和它一个意思。

RGBA Compressed PVRTC 4bits格式为PVRTC图片格式,它相当于把图片更改了压缩方式新生成了一个图片来替换原来的我们给的图片格式(比如我们给的是PNG格式)。

注意:U3D所有图片的压缩格式都会以另一种方式来存储,不会以你给的方式来存储,只有你指定了某种格式,它才会转成你要的格式。而且压缩格式在Android里并不一定有效,因为Android的机型多,GPU的渲染方式也不一样,有的是Nvidia,有的是PowerVR,最最好的在安卓机子上启用RGBA16方式,因为这个是适应所有机型的,并且比32位占用量少一半,但也需要因项目而异,只是推荐使用的格式,可以多用。

 

转载请注明出自:http://www.luzexi.com


Unity3D–Texture图片空间和内存占用分析

Texture图片空间和内存占用分析。由于U3D并没有很好的诠释对于图片的处理方式,所以很多人一直对于图集的大小和内存的占用情况都不了解。在此对于U3D的图片问题做一个实际数据的分析。此前的项目都会存...
  • OnafioO
  • OnafioO
  • 2015年03月26日 21:19
  • 2122

Unity3D–Texture图片空间和内存占用分析

Unity3D–Texture图片空间和内存占用分析 发表于2014年5月21日由陆泽西 Texture图片空间和内存占用分析。由于U3D并没有很好的诠释对于图片的处理方式,所以很多人一直...
  • Highning0007
  • Highning0007
  • 2014年07月20日 13:13
  • 25724

图片在内存中的占用的空间大小

各位博友好!从事开发工作近两年,第一次写博客,如果有写的不好的地方请大家多多见谅。为了以后自己更好的学习和工作,和希望把我所学到的这些知识和经验分享给大家。望大家以后共同进步。废话不多说了,我们进入正...
  • w1144054497
  • w1144054497
  • 2016年03月16日 11:01
  • 2114

Unity3D–Texture图片空间和内存占用分析

Texture图片空间和内存占用分析。由于U3D并没有很好的诠释对于图片的处理方式,所以很多人一直对于图集的大小和内存的占用情况都不了解。在此对于U3D的图片问题做一个实际数据的分析。此前的项目都会存...
  • OnafioO
  • OnafioO
  • 2015年03月26日 21:19
  • 2122

Unity3D–Texture图片空间和内存占用分析

Unity3D–Texture图片空间和内存占用分析 发表于2014年5月21日由陆泽西 Texture图片空间和内存占用分析。由于U3D并没有很好的诠释对于图片的处理方式,所以很多人一直...
  • Highning0007
  • Highning0007
  • 2014年07月20日 13:13
  • 25724

【Unity3D游戏开发】性能优化之Texture图片空间和内存占用分析(三七)

Unity3D–Texture图片空间和内存占用分析 发表于2014年5月21日由陆泽西 Texture图片空间和内存占用分析。由于U3D并没有很好的诠释对于图片的处理方式,所以很多人一直...
  • teng_ontheway
  • teng_ontheway
  • 2016年04月01日 00:41
  • 1320

Unity3D 图片空间和内存占用分析

Texture图片空间和内存占用分析。由于U3D并没有很好的诠释对于图片的处理方式,所以很多人一直对于图集的大小和内存的占用情况都不了解。在此对于U3D的图片问题做一个实际数据的分析。此前的项目都会存...
  • qq563129582
  • qq563129582
  • 2015年07月29日 18:58
  • 963

Unity3d 导入图片 自动修改Texture Type

  • 2015年05月07日 18:15
  • 671KB
  • 下载

Unity3d 导入图片 自动修改Texture Type为Sprite (2D and UI) 及设置 Packing Tag为文件夹名

Unity3d 的新版 UI 系统在给我们带来很大便利的同时,也添加了一些小麻烦。每次从电脑中导入图片到 Unity3d 中都需要手动设置Texture Type为Sprite (2D and UI)...
  • cp790621656
  • cp790621656
  • 2015年05月07日 18:16
  • 8325

Unity3D引擎WWW资源加载和缓存(AssetBundle、Texture、Audio)

Unity3D引擎WWW资源加载和缓存(AssetBundle、Texture、Audio)
  • u014805591
  • u014805591
  • 2017年06月08日 21:24
  • 371
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Unity3D–Texture图片空间和内存占用分析
举报原因:
原因补充:

(最多只允许输入30个字)