[0]laya-zip让你的游戏加载速度提升350%!!
论坛不支持markdown排版,请移步:LayaZip
前言
laya-zip是一个用于laya引擎加载zip资源的扩展包,提供了友好和简单的API接口。与LayaTree一样,都使用Big AOP大切面理论进行设计,能够让游戏的加载速度提升350%。效果
资源包体资源大小8.4M,压缩包体4.3MB情况下,:
使用laya-zip下加载多个资源的耗时784毫秒
使用普通资源加载耗时2798毫秒
使用方法一
普通项目的使用方法 下载扩展包laya-zip
解压后,将laya-zip.js文件放入项目bin/libs/文件夹下,将laya-zip.d.ts文件放入项目libs/文件夹下,在bin/index.js文件中加载bundle.js前加入一行:
在Main.ts中Laya初始化后加入:
项目支持npm包增量编译的,使用npm安装方式比较好.(比如这种编译方案)
安装laya-zip
在Main.ts中Laya初始化后加入
将所需资源打包成zip 根据约定,在默认情况下会加载zip包一级目录下的所有资源(如模型、场景、图片、字体、声音等)
如果只需要加载zip包中的部分资源,或者资源路径在多级目录下。可以在constructParams中进行配置,来加载指定文件资源。
为了根据具体项目来定制压缩包的颗粒度(打几个包,资源怎么分包),laya-zip提供了调试模式,默认会在控制台打印各个阶段的耗时。
其中
如果需要关闭调试可以:
如果有意见或建议,请反馈到:
QQ群: 200482074
前言
laya-zip是一个用于laya引擎加载zip资源的扩展包,提供了友好和简单的API接口。与LayaTree一样,都使用Big AOP大切面理论进行设计,能够让游戏的加载速度提升350%。效果
资源包体资源大小8.4M,压缩包体4.3MB情况下,:
使用laya-zip下加载多个资源的耗时784毫秒
使用普通资源加载耗时2798毫秒
使用方法一
普通项目的使用方法 下载扩展包laya-zip
解压后,将laya-zip.js文件放入项目bin/libs/文件夹下,将laya-zip.d.ts文件放入项目libs/文件夹下,在bin/index.js文件中加载bundle.js前加入一行:
[size=14][code]loadLib(cdn + "libs/laya-zip.js")[/size][/code]
在Main.ts中Laya初始化后加入:
[size=14][code]LayaZip.Init();[/size][/code]使用方法二
项目支持npm包增量编译的,使用npm安装方式比较好.(比如这种编译方案)
安装laya-zip
[size=14][code]npm i laya-zip[/size][/code]
在Main.ts中Laya初始化后加入
[size=14][code]import { LayaZip} from "laya-zip";[/size][/code]加载
LayaZip.Init();
将所需资源打包成zip 根据约定,在默认情况下会加载zip包一级目录下的所有资源(如模型、场景、图片、字体、声音等)
[size=14][code]// Use ZIP when loading files[/size][/code]
// Note By convention, only resource files in the level-1 directory are loaded
Laya.loader.create([{ url: "xx.zip", type:"ZIP"}])
如果只需要加载zip包中的部分资源,或者资源路径在多级目录下。可以在constructParams中进行配置,来加载指定文件资源。
[size=14][code]// Loads the file at the specified path and uses it[/size][/code]高级
Laya.loader.create([{ url: "xx.zip", type:"ZIP",constructParams:["xx/xxx1.lh","xx/xxx2.lh"]}], Laya.Handler.create(this, () => {
let player1 = Laya.loader.getRes("xx/xxx1.lh").clone();
let player2 = Laya.loader.getRes("xx/xxx2.lh").clone();
}));
为了根据具体项目来定制压缩包的颗粒度(打几个包,资源怎么分包),laya-zip提供了调试模式,默认会在控制台打印各个阶段的耗时。
其中
- Download ZIP: 下载zip包的耗时
- UnZip Dir: 解压zip包目录结构的耗时
- Parse Files: 解压zip包的文件总个数和耗时
- Load Zip Total:从压缩包下载前到资源加载完毕后的总耗时
如果需要关闭调试可以:
[size=14][code]// Turn off time-consuming printing[/size][/code]其他
LayaZip.DeBug = false
如果有意见或建议,请反馈到:
QQ群: 200482074
没有找到相关结果
已邀请:
要回复问题请先登录
11 个回复
李尔
赞同来自: 第七天堂
李尔
赞同来自:
李尔
赞同来自:
白银x亮
赞同来自:
northTg
赞同来自:
Mr.D
赞同来自:
只有一个问题,加载场景时,第一次加载 正常显示,第二次getRes() 获取不到场景了,是哪里没设置好么?
求指教
竹心
赞同来自:
fftidus
赞同来自:
第七天堂
赞同来自:
原因:
当你对模型文件压缩处理时。mac会自动生成一个__MACOSX的隐藏配置文件
解决方案:
开始解决的时候 我是在这地方加一个异常检测, but, LayaZip在做解析的时候 是有一套资源计数处理的
所以 解决方案 应该是在资源遍历的时候 直接过滤
李尔
赞同来自:
另外增加了用例demo: https://github.com/lear315/layazip-demo
1617084612用户
赞同来自: