AssetBundle压缩/内部结构/下载和加载
一、AssetBundle的压缩方式
不压缩 | LZ4压缩 | LZMA压缩 | |
WWW加载 | 内存:未压缩资源包的大小(+当WWW未被Disposed时未压缩资源包的大小) 性能:没有额外的处理过程 |
内存:LZ4高压缩包的大小(+当WWW未被Disposed时LZ4高压缩包的大小) 性能:没有额外的处理过程 |
内存:LZ4压缩包的大小(+当WWW未被Disposed时LZMA压缩包的大小) 性能:当下载的时候,LZMA解压过程+LZ4压缩过程 |
LoadFromCacheOrDownload加载 | 内存:没有额外内存占用 性能:从磁盘读取的过程 |
内存: 没有额外内存占用 性能:从磁盘读取的过程 |
内存:没有额外内存占用 性能:从磁盘读取的过程 |
LoadFromMemory (异步)加载 | 内存:未压缩的资源包大小 性能:没有额外的处理过程 |
内存:LZ4高压缩资源包的大小 性能:没有额外的处理过程 |
内存:没有额外内存占用 性能:从磁盘读取的过程 |
LoadFromFile(异步)加载 | 内存:没有额外内存占用 性能:从磁盘读取的过程 |
内存:没有额外内存占用 性能:从磁盘读取的过程 |
内存:LZ4压缩包的大小 性能:从磁盘读取+LZMA解压+LZ4压缩 的过程 |
WebRequest (也需要缓存)加载 | 内存:未压缩的资源包大小 性能:没有额外处理过程[+如果缓存则从磁盘中读取的过程] |
内存:LZ4高压缩包的大小 性能:没有额外处理过程[+如果缓存则从磁盘中读取的过程] |
内存:LZ4压缩包的大小 性能:当下载的时候,LZMA解压过程+LZ4压缩过程[+如果缓存则从磁盘中读取的过程] |
*当使用WWW方式下载资源包的时候,WebRequest还有一个8*64kb的叠加缓存用来保存来自Socket的数据
总结——在游戏里使用低级加载的API时,有以下建议:
AssetBundle压缩/内部结构/下载和加载的更多相关文章
- Unity 打AssetBundle和加载方案
一.如何组织assetBundle: unity5以前,打包需要自己去找依赖,然后需要按照拓扑图顺序压入AB栈,这样在最后打AB时才能有效利用依赖(栈内已有的AB才能作为依赖). unity5.x后, ...
- Unity最新版打包AssetBundle和加载的方法
一.设置assetBundleName二.构建AssetBundle包三.上传AssetBundle到服务器四.把AssetBundle放到本地五.操作AssetBundle六.完整例子七.Asset ...
- unity创建和加载AssetBundle
先说一下为什么要使用AssetBundle吧,以前做东西一直忽略这个问题,现在认为这个步骤很重要,代码是次要的,决策和为什么这样搞才是关键. 一句话概括吧,AssetBundle实现了资源与服务分离, ...
- Unity热更新学习(一) —— AssetBundle 打包和加载
理论不多说,网上,官方文档都有. 这里有一篇介绍很全面的文章:https://www.cnblogs.com/ybgame/p/3973177.html 示例和注意点记录一下,用到时以便查阅. 一. ...
- AssetBundle资源打包与加载
AssetBundle资源打包 1.AssetLabels资源标签 文件名:资源打包成AssetBundle后的文件名,类似于压缩包的名字 后缀:自定义 文件名和后缀名都是小写格式(大写会自动转为小 ...
- 前端性能和加载体验优化实践(附:PWA、离线包、内存优化、预渲染)
一.背景:页面为何会卡? 1.1 等待时间长(性能) 项目本身包/第三方脚本比较大. JavaScript 执行阻塞页面加载. 图片体积大且多. 特别是对于首屏资源加载中的白屏时间,用户等待的时间就越 ...
- Bitmap那些事之内存占用计算和加载注意事项
前言:本来我是做电视应用的,但是因为公司要出手机,人员紧张,所以就抽调我去支援一下,谁叫俺是雷锋呢!我做的一个功能就是处理手机中的应用ICON,处理无非就是美化一下,重新与底板进行合成和裁剪,用到了很 ...
- Kettle实现数据抽取、转换、装入和加载数据-数据转移ETL工具
原文地址:http://www.xue51.com/soft/5341.html Kettle是来自国外的一款开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,绿色无需 ...
- [转]QT4.8.5+qt-vs-addin-1.1.11+VS2010安装配置和QT工程的新建和加载
1.下载windows下的QT库 QT4.8.5 for vs2010: http://download.qt-project.org/official_releases/qt/4.8/4.8.5/q ...
随机推荐
- PHP最全防止sql注入方法
(1)mysql_real_escape_string -- 转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集 使用方法如下: $sql = "select count ...
- 一篇文章搞懂DOM
学习JavaScript肯定是会遇到DOM操作,那么什么是DOM?它又是干嘛用的?这篇文章为你揭晓答案. DOM是document object model的缩写,简称文档对象模型. 简单的说DOM是 ...
- 自定义input[type="checkbox"]的样式
对复选框自定义样式,我们以前一直用的脚本来实现,不过现在可以使用新的伪类 :checkbox 来实现. 如果直接对复选框设置样式,那么这个伪类并不实用,因为没有多少样式能够对复选框起作用.不过,倒是可 ...
- 学习HTTP
http://blog.csdn.net/lmh12506/article/details/7794512 HTTP协议是无状态的和Connection: keep-alive的区别 http协议是无 ...
- python第十四课--排序及自定义函数之自定义函数(案例二)
案例二: python中定义有/无返回值的函数,演示python没有函数重载这一说 需求:自定义函数:计算两个整数的和值两个原则:1).有没形参有,两个 2).有没返回值可有可无 def my_sum ...
- iOS AOP框架Aspects实现原理
总结: Aspects 是对 类的继承结构isa.mataclass结构的调整和维护:相当于链表的节点插入和删除: 同时使用method Swizzling 对方法统一重定向: 同时使用类似代理的机制 ...
- Oracle学习(十一):PL/SQL
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/v123411739/article/details/30231659 1.知识点:能够对照以下的录屏 ...
- Javascript Number.MIN_VALUE
一.Number.MIN_VALUE属性属于静态Number对象.这代表了尽可能小的正数的JavaScript可以工作的常量. 该常量的实际值是 5 x 10-324 语法访问属性: var val ...
- JDK(十)JDK1.7&1.8源码对比分析【集合】ConcurrentHashMap
前言 在JDK1.7&1.8源码对比分析[集合]HashMap中我们对比分析了JDK1.7和1.8版本的HashMap源码,趁热打铁,这篇文章就来看看JDK1.7和1.8版本的Concurre ...
- Windows App开发之应用布局与基本导航
简单演示样例看页面布局和导航 首先依照上一篇博客中的顺序来新建一个项目.新建好之后就点开MainPage.xaml開始写程序了. <Grid Background="{ThemeRes ...