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

IPHONE:

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

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

3.10张1200520压缩成10241024PVRTC4 单张图占用量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对于图片的格式是自己生成的,而并不是你给他什么格式,他就用什么格式,一张10241024图在无压缩格式下,它会被U3D以无压缩文件形式存放,也就是说U3D里的Texture Preview里显示的占用大小*MB不只是内存占用大小,还是空间占用大小。

  缩减贴图占用内存

  注意,贴图资源占用内存大小不等于文件大小,而是与资源导入设置有关。同一个导入设置则只与资源宽高尺寸有关,与资源原始文件格式无关。在进行安装包大小瘦身时,已针对各种应用场景,有损或无损的缩减贴图资源大小。由于资源加载后占用内存大小与安装包打包前资源大小一致,所以安装包瘦身实际上也是在减少贴图资源占用内存大小。

  举个例子:一张512x512贴图。

  使用RGBA 32bit真彩,占用内存 = 4Bytes*512*512 = 1MB;

  使用RGB ETC 4bit压缩,占用内存 = 0.5Bytes*512*512 = 128KB。

  具体的压缩选型和操作细节,可参考菜鸟在线官网Unity3D游戏开发课程讲解。注意:某些压缩方式是无损的,某些是有损的,开发者应按需采用。

官方:https://docs.unity3d.com/Manual/class-TextureImporterOverride.html

注意:在不支持ETC2的iOS和tvOS设备上,纹理在运行时未压缩到RGBA32。在不支持ETC2的Android平台上,纹理在运行时解压缩为Build Settings中ETC2 fallback指定的格式。

比如: ETC2 ARGB/RGB 4bit 使用图片不是4的倍数就会使用Build Settings中ETC2 fallback指定的格式。

出现结果如下图:

部分数据来源:移动端纹理压缩格式

https://www.cnblogs.com/zsb517/p/6297739.html

在分享一篇 :http://blog.sina.com.cn/s/blog_5b6cb9500102vi6i.html 此文详细分析了资源内存大小 和 不同情况下不同平台常用压缩 方式 注意 正方贴图和非正方贴图 这些前提条件

IOS

常用的PVRTC4,压缩之后的大小为:1024 * 1024 * 4 bit = 0.5MB
除了压缩内存,PVR可以直接被显卡读取,载入速度更快;缺点是PVR需要PowerVR芯片支持,目前iOS设备都能完美支持,Android支持尚少;此外,PVRTC4只支持方形贴图,非方形会被处理成方形,且长宽必须为2的幂。
 https://blog.csdn.net/xufeng0991/article/details/51942289

压缩用途:

Unity官网对每个平台默认的纹理压缩格式以及使用建议给出了详细描述,需要注意的是:在不同移动GPU平台下选择GPU支持的压缩纹理,就可以在不需要CPU解压的情况下直接被GPU采样,节省CPU内存和带宽,也可以节省存储的体积。如果目标平台不支持设置的压缩格式,纹理将解压为RGBA32或者RGB24,浪费CPU时间和内存。

https://blog.csdn.net/taoqilin/article/details/82692759

unity texture 占用内存大小对比的更多相关文章

  1. 【转载】Unity 优雅地管理资源,减少占用内存,优化游戏

    转自:星辰的<Unity3D占用内存太大的解决方法> 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D  ...

  2. Unity3D占用内存太大的解决方法

    原地址:http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大 ...

  3. (转)Unity3D占用内存太大的解决方法

    自:http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大.  ...

  4. Unity3D占用内存太大怎么解决呢?

    最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个 ...

  5. Unity中的内存泄漏

    在对内存泄漏有一个基本印象之后,我们再来看一下在特定环境——Unity下的内存泄漏.大家都知道,游戏程序由代码和资源两部分组成,Unity下的内存泄漏也主要分为代码侧的泄漏和资源侧的泄漏,当然,资源侧 ...

  6. [翻译]理解Unity的自动内存管理

    当创建对象.字符串或数组时,存储它所需的内存将从称为堆的中央池中分配.当项目不再使用时,它曾经占用的内存可以被回收并用于别的东西.在过去,通常由程序员通过适当的函数调用明确地分配和释放这些堆内存块.如 ...

  7. 如何解决audiodg占用内存高(停止与重启audiodg服务)

    window7电脑audiodg.exe进程占用内存很高 首先想到的办法是结束该进程,于是在任务管理器里结束进程后,内存是释放了,但是发现发现电脑没有声音 去到电脑的system32目录下双击audi ...

  8. Android Bitmap占用内存计算公式

    Android对各分辨率的定义 当图片以格式ARGB_8888存储时的计算方式 占用内存=图片长*图片宽*4字节 图片长 = 图片原始长 (设备DPI/文件夹DPI)  图片宽 = 图片原始宽(设备D ...

  9. 关于Java占用内存的研究

    最近对程序占用内存方面做了一些优化,取得了不错的效果,总结了一些经验简要说一下,相信会对大家写出优质的程序有所帮助下面的论述针对32位系统,对64位系统不适用,后叙 经常你写了一个程序,一测试,功能没 ...

随机推荐

  1. Day05_24_继承

    继承 什么是继承? 继承本质上是对某一批类的抽象,从而实现对现实世界更好的建模.继承是类和类之间的一种关系,除此之外类和类之间的关系还有依赖.组合.聚合等. 继承就是子类(派生类)继承父类(基类)的特 ...

  2. Scrapy 爬虫项目框架

    1. Scrapy 简介 2. Scrapy 项目开发介绍 3. Scrapy 项目代码示例 3.1 setting.py:爬虫基本配置 3.2 items.py:定义您想抓取的数据 3.3 spid ...

  3. Oralce注入 bypass waf出数据

    发存货: 探测banner 版本号: ' and (SELECT banner FROM v$version where rownum=1) like 'O%' and '1'like'1 rownu ...

  4. SpringCloud(七)Stream消息驱动

    Stream消息驱动 概述 屏蔽底层消息中间件的差异,降低切换成本,统一消息的编程模型 官网:https://cloud.spring.io/spring-cloud-static/spring-cl ...

  5. sublimeText常用插件

    扩展包: EmmetAlignmentDoc​BlockrSideBarEnhancementsFileDiffsColorsublimelocalizationAutoFileNameA File ...

  6. js弹窗的3种方式:alert、confirm、prompt

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. Webuploader 简单图片上传 支持多图上传

    简介: 通过webuploader 实现简单的图片上传功能,支持多张图上传 官方文档传送门:http://fex.baidu.com/webuploader/getting-started.html# ...

  8. poj2175费用流消圈算法

    题意:      有n个建筑,每个建筑有ai个人,有m个避难所,每个避难所的容量是bi,ai到bi的费用是|x1-x2|+|y1-y2|+1,然后给你一个n*m的矩阵,表示当前方案,问当前避难方案是否 ...

  9. 1.简单认识PHP和环境搭建

    1.关于PHP PHP(Hypertext Perprocessor,超文本预处理器),是一种服务器端.跨平台.HTML嵌入式的脚本语言,其独特的语法混合了C.Java.和Perl语言的特点,是一种被 ...

  10. Qt链接MySQL发布后Drive not loadedDrive not loaded怎么办

    缺少动态链接库!把MySQL文件夹下面带dll.lib的全复制进去就行了