如题,项目中就一个场景,这样的加载时长正常吗,该怎么优化
(用的是android手机微信浏览器打开的)
优化不了 这是CREATOR的一个大坑
压缩,还有勾上延迟加载资源
压缩是指什么?请指教。
服务器开启GZip压缩
谢谢关注,不过延迟加载开启貌似没多大变化
场景中有几个大的节点,十几个altas和一些prefab,其实用户首先看到的界面仅仅是其中一个节点和一个altas,但是项目加载时却一股脑全加载了。大牛有没有什么好的方法,让那些暂时用不到的延迟加载下
是这样的。但十几秒的加载等待担心上帝不买单,还得寻找方案
有种想换引擎的冲动了都
cocos2d-x + anysdk + creator
creator:
js + lua + cpp
- webgl + canvas + android + ios - (一堆之前有,现在没有的平台)
- 一个问题不断的编辑器
- VSCode
- 继承 + 组件
- spine + 龙骨 + 自带的动画编辑 - 之前的骨骼编辑器
- 计划的物理引擎 + 计划的3D + 计划的xxx
- 加论坛各位大神不断新发现的BUG和需求
- … …
较多功能不完善,文档不够完善,新功能不断,BUG不断。
觉得官方的头已经大,骑虎难下。
: 有能力的不会去用ccc;能力一般的没办法用好,边用边掉坑;适合新手学习
PS: 官方客服态度点个赞;稳中求进,别扯到蛋
先验证下是下载阶段慢还是场景创建阶段慢。
下载慢的话发布项目后会进行 json 合并,能大大优化。
创建阶段慢的话,麻烦试一下 1.4 内测版,这边至少能快一倍。
http://forum.cocos.com/t/cocos-creator-v1-4-0/41728
其实我倒觉得整体的工作流程creator还是不错的。比之前的2.x系列好挺多的了。毕竟都需要时间。
/**
* 预加载
* @param {[type]} list [description]
* @param {Function} cb [description]
* @param {[type]} isOrd [是否顺序加载 顺序加载便于更新ui 并发加载有利于提高速度]
* @return {[type]} [description]
*/
preload : function(list, cb, isOrd)
{
// cc.log(“preload”, list)
var total = list.length
if (total == 0) return cb(true, 100);
// var _t = 0
var self = this;
// var type = ‘’;
// var url = “”;
// }
if (isOrd) {//排队方式加载
var _tick = false;
var _tick = function(){
var cell = list.shift();
var url = cell[0], type = cell[1];
self.load(url, type, function(is, per){
var left = list.length;
if (left == 0) return cb(true, 100);
var per = parseInt(100 * (total - left) / total)
cb(false, per);
setTimeout(function(){
_tick();
}, 0)
});
}
_tick();
} else {//并发方式加载
var _done = 0;
var _tick = function(cell){
var url = cell[0], type = cell[1];
self.load(url, type, function(is, per){
_done++;
if (_done == total) return cb(true, 100);
var per = parseInt(100 * (_done) / total)
cb(false, per);
});
};
for (var i in list) {
if(!list[i]) continue;
_tick(list[i]);
}
}
},
昨天的回复可能有误导,我这边是用的脚本动态加载。并没有用creator里的延迟加载。 昨天试了下发现顺序加载和并发加载的表现并不一样。顺序加载不会卡UI。但是相对的加载速度稍慢。并发加载才会卡UI,但是加载速度会比较快。看自已选择吧。我现在是场景读条用顺序加载,打开面板时用并发加载。 另外如果用并发加载要留意内存峰值。
如果当下 Creator 满足不了你的项目需求,与其又酸又怨,不如果断寻找其他合适的引擎。
拆分场景和prefab吧~
没别的方案后,这是最后的办法