3.7.3发布的,目前bundle 资源 36M, 碎文件400多个,放到香港的服务器上,加载需要2分钟,裂开了,有没有大佬有这块经验的,指导下啊
图片音频这些打包后再压缩一下,web版打包可以选择合并所有json
纯色图片或有规律的图片可以用一像素的图片表示,带圆角的按钮背景图片可以用九宫格形式展示。
有遇到类似的情况,服务器在海外,也是H5。
1、cocos.js:游戏启动的核心文件,阻塞的最关键问题,所有资源必须等这个文件加载完才能跑,我建议在项目配置上,剔除你这个项目上用不到的模块。
2、改你打包出来的文件,怎么改,把你部分主场景的需要的包和cocos.js 同时加载,这么做的主要原因是因为更好的利用网络,如果不这么做,一分钟只加载cocos.js这么一个文件,但是浏览器可并行加载的网络请求可不止一个。
3.其他的优化就楼上都说了
都做了至少10s内进入,记得勾选分包。
这个怎么做呢,最笨也是最简单的方法就是,在html文件里,手动请求对应的资源路径,资源路径怎么拿,在网络控制台复制相关的就行
- 开gzip
- 多bundle,合并bundlejson
- 模块裁减
cocos.js 怎么删除永不到模块呢
怎样删除cocos.js中用不到的模块
启用多个worker并发下载,嗖嗖的
const workerScript = `
onmessage = function(e) {
console.log('Worker: Message received from main script');
// 请求cocos资源
fetch('http://cocosrescource...')
.then(response => response.json())
.then(data => {
// 将加载的数据发送回主线程
postMessage(data);
})
.catch(error => {
// 发送错误信息回主线程
postMessage('Error: ' + error.message);
});
}
`;
const blob = new Blob([workerScript], { type: 'application/javascript' });
const workerScriptURL = URL.createObjectURL(blob);
const myWorker = new Worker(workerScriptURL);
myWorker.onmessage = function(e) {
console.log('Main script: Message received from worker:', e.data);
}
myWorker.postMessage('Hello, worker!');
4赞
好办法啊。
原生也适用么
原生为什么有这个问题呢
属于网络原因。可以考虑减小bundle大小,资源压缩->bundle->放置服务器。
印象里worker不是很兼容所有平台呀


worker能加快下载速度? 我持怀疑态度…而且浏览器下载就是多线程的
我也有这种疑问。
看了这张图,我想起来也可能是因为worker对一些比较低版本的内容不支持 