游戏关卡加载过慢的问题描述:Cocos版本2.4.10,小游戏有40个关卡,每个关卡2M,一起80M,分包搞不了,文件太大了,超过抖音的规定到校。把所有关卡配置了远程包,zip压缩,按需加载,点击一个加载一个。构建后,上传到服务器,抖音开发者工具运行,发现加载一个关卡要30秒。在cocos中,关卡加载正常,1-2秒。请问这个问题一般如何处理呢,请大佬指导下,如有能解决的大佬,可以留言,不白■,感谢各位大佬
代码截图:
关卡bundle包截图:

构建截图:
网络请求截图:
游戏关卡加载过慢的问题描述:Cocos版本2.4.10,小游戏有40个关卡,每个关卡2M,一起80M,分包搞不了,文件太大了,超过抖音的规定到校。把所有关卡配置了远程包,zip压缩,按需加载,点击一个加载一个。构建后,上传到服务器,抖音开发者工具运行,发现加载一个关卡要30秒。在cocos中,关卡加载正常,1-2秒。请问这个问题一般如何处理呢,请大佬指导下,如有能解决的大佬,可以留言,不白■,感谢各位大佬
代码截图:
关卡bundle包截图:

构建截图:
网络请求截图:
2mb按需加载30s一个?
对呀,在cocos中挺正常,然后用抖音开发者工具打开就加载30秒了。用的bundle.loadDir(dir, type, function(err, assets) {。。}加载的远程包,,也不指导咋回事,用了CDN,也不行
啥数据这么大?
因为关卡多,40个关卡,一个2M,就是80M了
首先,为什么要loadDir,不应该是需要什么在load什么吗?你要load的dir下是什么东西?
其次,如果单个关卡有2M,然后加载速度达不到需求,那么你要做的应该是再把单个关卡继续拆分吧?比如关卡内有节点1,节点2…,是不是可以进关卡后按需加载 , 或者递归一个一个加载出来用?
最后,一个2M的东西要加载30秒,确实也不正常就是了
先看是网络加载慢,还是远程包下载后从本地磁盘加载慢
感谢详细回复。1、用loadDir,主要因为每个关卡是一个bundle,然后点击进去的时候,需要把这个关卡所有资源,图片,背景音乐等,都要加载完成,才能正常的玩。2、主要是2M要加载30秒,这个挺不正常,我用的腾讯云,速度没问题。我感觉可能是在抖音加载关卡时,自动适配用tt.downfile,这个接口只能是串行,而且速度有限制,不然不至于要30秒。一个关卡的bundle包,我压缩成zip了。就算串行下载,一个包也就2个文件,一个json,一个zip,也不至于30秒
数据优化, 例如object 改成数组, 起码要小一半. 再zip一下. 2M变100kb
这个不太懂。object改成数组,这个object是指代码中的object吗?请问能说个示例吗?
[{“id”: 0, “type”: 1, “pos”: “1,1”}, {“id”:1,“type”: 1, “pos”: “1,1”}] ====>[[“id”,“type”, “pos”],[0,1,“1,1”],[1,1,“1,1”]]
你果然挺牛逼,好的,我待会去试试,如果可以,我回来找你 
你应该先确认一个问题,这30秒到底在干啥。
是在下载一个文件还是在加载多个文件,多个是多少个。
具体是哪个文件下载了这么久。
这30秒是不是还有关卡之外的其他任务在加载。
这个不对,因为主要是加载资源慢,图片,背景音乐等,代码文件不大,只有几十K。那个2M,资源文件图片,音乐,占了1.5M
声音计时播放??? 为啥要提前加载. 播放的时候处理就好了
下载MP3,50K,加载10秒;主场景图片,880K,加载10秒,主要就是这2个内容,其余得图片和mp3,下载都挺正常
我感觉你研究方向不是优化数据结构和压缩的问题,是研究一下为什么2M要花费30秒。我们游戏的动态各种图片文字,往下滑动的时候,照你这个速度,不得10秒钟才滑一下
MP3用时再下载,如果是背景音乐,也没一定要进去就播放。可以不下载,进入游戏再下载mp3。背景图880K可优化,可以先放一张低清糊图。你这跟数据压缩是没什么关系的,优化主要资源大小和加载顺序就好了。就算你这样优化了,也实现不了本地打开的速度。应该可以优化三分之一的速度。
聪明的姑娘。主要方向就是2M,为什么要下载30秒
感谢回复。我感觉优化的空间倒是不大,因为毕竟只有2M,主要是2M,需要30秒,这个挺头疼的