Unity项目中的资源管理
贴图资源配置
对于这资源管理,Unity提供非常丰厚的支持。以贴图为例子,Unity支持直接把原始贴图直接放进工程,不需要做任何额外处理。Unity根据贴图配置会自动生成最后的贴图数据。不同平台(IOS、Android、PC)支持的贴图格式不一样,通过配置文件的形式,最后方便的生成不同格式的贴图。这是一个非常好的做法,同时可以直观的在开发环境看到不同格式的贴图表现。
不同的贴图会有不同的配置,有些属性的配置对内存和性能会有较大的影响。比如一张 512 X 512的RGB贴图,内存大小为1M。如果限定使用50M的贴图内存的话,那只能加载50张贴图,这明显是不够用的。
三维计算机图形渲染中一个常用的技术被称为Mipmap。为了加快渲染速度和减少图形锯齿,贴图被处理成由一系列被预先计算和优化过的图片组成的文件。对于UI使用的2D贴图,我们需要关闭Mipmap避免精度损失。同时在测试中我们也发现开启Mipmap并没有带来多少性能提升,在手游的场景中,我们的视距非常近,并没有过多这方面的需求。同时关闭Mipmap我们能节约33%内存,这是一个比较不错的提升。关闭Mipmap后,我们看到贴图变成了0.8M,这里应该是768KB。
一个不小的提升,不过还是要注意,这是测试之后做的决定,不同情况下的决策是不一样的。
接下来讨论贴图压缩,ETC是所有Android都接受的格式,这个格式的压缩质量较差。但在大部分情况下,很难在手机那么小的屏幕上看到差异,渲染本身就是一件视觉欺骗,如果觉得满意那就没问题。ETC 2对图片质量有较大的提升,但是需要 OPGL ES 3.0 以上才支持,这个要根据支持的机型做决定。
设置压缩格式为ETC后贴图的大小为128KB,减小了6倍,这是一个非常大的提升。
更多unity2018的功能介绍请到paws3d爪爪学院查找。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java.util.ArrayDeque类
介绍 所述java.util.ArrayDeque中类提供可调整大小的阵列,并实现的Deque接口。以下是Array Deques的重点 数组deques没有容量限制,因此它们会根据需要增长以支持使用。 它们不是线程安全的; 在没有外部同步的情况下。 它们不支持多线程的并发访问。 数组deques中禁止使用空元素。 它们比Stack和LinkedList更快。 该类及其迭代器实现了Collection和Iterator接口的所有可选方法。 类声明 以下是java.util.ArrayDeque类的声明 public class ArrayDeque<E> extends AbstractCollection<E> implements Deque<E>, Cloneable, Serializable 这里表示一个元素,可以是任何类。例如,如果您正在构建整数数组列表,那么您将其初始化为 ArrayList<Integer> list = new ArrayList<Integer>(); 类构造函数 Sr.No. 构造函数和描...
- 下一篇
Android 内存泄漏
Android 内存泄漏 前言 内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。有些内存泄漏是很难发现的,需要使用恰当的方法或者辅助工具才能检测到,这篇文章记一下 Android 应用程序中如何检测内存泄漏。 一、java 虚拟机运行时数据区域 java 虚拟机在执行 java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域有着各自的创建时间和销毁时间,各自用途也不一样。java虚拟机运行时数据区域如下图: 1.1 程序计数器 程序计数器是一块较小的内存空间,是当前线程所执行的字节码的行号指示器。如果线程正在执行一个java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果是Naive方法,则计数器为空;这个区域不会出现OUtOfMemoryError异常。此区域也是唯一一个在java虚拟机规范中没有规定任何OUtOfMemoryError情况的区域。 java虚拟机多线程是使用线程轮流切换并分配处理执行时间的方式来实现的,在任何一个确定的时刻...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境