1 Star 4 Fork 1

dony / 学习笔记

Create your Gitee Account
Explore and code with more than 8 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
cocoscreator通过设置bundle分包,来优化首页打开速度.md 1.64 KB
Copy Edit Web IDE Raw Blame History

cocoscreator通过设置bundle分包,来优化H5游戏首页的打开速度

优化首页加载速度,用的比较多的有以下两点

  • 官方已经将style-mobile.css, setting.js, main.js加载放在html文件里面,让原来要请求4个文件,变成请求1个文件,减少了io操作
  • 服务器上可以设置gzip压缩

出了这两种方式外,还可以通过设置bundle分包来减少打开首页所需要加载的资源。

先来看下main.js资源加载的代码:

var RESOURCES = cc.AssetManager.BuiltinBundleName.RESOURCES;
var INTERNAL = cc.AssetManager.BuiltinBundleName.INTERNAL;
var MAIN = cc.AssetManager.BuiltinBundleName.MAIN;
...
var bundleRoot = [INTERNAL];
settings.hasResourcesBundle && bundleRoot.push(RESOURCES);

var count = 0;
function cb (err) {
  if (err) return console.error(err.message, err.stack);
  count++;
  if (count === bundleRoot.length + 1) {
    cc.assetManager.loadBundle(MAIN, function (err) {
      if (!err) cc.game.run(option, onStart);
    });
  }
}

cc.assetManager.loadScript(settings.jsList.map(function (x) { return 'src/' + x;}), cb);

for (var i = 0; i < bundleRoot.length; i++) {
  cc.assetManager.loadBundle(bundleRoot[i], cb);
}

上面的代码值加载了内置main, internal, resources三个bundle文件夹,因此我们可以把资源,脚本,prefab, 场景等文件方到添加我们自己添加bundle文件夹里面,这样内置的bundle文件夹里面文件变得极少,极大的增加了首页的加载速度

等首页加载并显示后,在首页界面再来添加游戏所需要的bundle,当然这种方法要求项目启动时,就要求设计好项目资源结构

Comment ( 0 )

Sign in to post a comment

1
https://gitee.com/dony1122/note.git
git@gitee.com:dony1122/note.git
dony1122
note
学习笔记
master

Search