2.4.0Bundle资源加载BUG!!

  • Creator 版本:2.4.0

  • 目标平台: Android

  • 详细报错信息,包含调用堆栈:

  • 重现方式:

  • 之前哪个版本是正常的 :2.3.3

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :macOS

  • 编辑器之前是否有其它报错 :无

  • 出现概率:100%

  • 额外线索: 资源加载需要5秒左右的耗时

之前2.3.3用cc.loader来加载资源时,加载回调都能正常反应到UI上。
但是2.4.0用Bundle.loadDir方法时,整个UI就卡住了,在update中打日志


如图中,loadAllBundelRes是开始执行loadDir
update明显被卡住了5秒钟?
怎么破?

============追加
其实利用HotUpdate来加载manifest并checkupdate也会卡住UI,但是这些步骤很快,对界面的影响也就不痛不痒了。
之前2.3.3都是OK的

============改成preloadDir后


缓解了一些,但是还是明显卡顿了

修改一下并发数

本地加载关系到并发数?再怎么并发,资源加载总时间是跑不掉的

关注,同问

你的意思应该是Bundle.loadDir把主线程卡主了,没提供progress回调吧?而不是用bundle以后加载速度变慢了?

提供了回调,但是回调中对UI的任何操作都被阻塞了。
正如update函数表现的那样,整个update回调都被阻塞了

那你应该用preload函数,应该是异步的。load函数都有相应的preload函数,loadDir对应preloadDir

我现在比较关注使用bundle会不会导致整体加载速度反而变慢了,你那里之前用cc.loader的加载时间有5秒吗?

onProgress的设计目的不就是提供给UI来做相应处理么……
preloadDir还没试,但是加载速度肯定会慢不少。
bundle不会导致加载变慢,本身2.3.3我们的资源加载就要5秒。

没变慢就好

Bundle.loadDir在android平台为啥是同步的只有等官方来解释了:joy:

2.4版本感觉问题不少:13:

这个问题确实很严重,希望官方解决一下

已经解决,需要设定一下cc.assetManager.presets.bundle或者cc.assetManager.presets.default的参数:
priority
maxConcurrency
maxRequestsPerFrame
否则会卡帧

1赞

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。