有偿请大佬帮忙看个关于加载远程资源的问题

现在有两个项目一个是2.4.11开发的一个是3.8.2开发的,两个项目打包发布微信小游戏,remote资源都放到一个cdn服务器上,压缩类型是合并所有json,2.4.11版本的项目点击按钮加载预制体打开弹窗就非常快几乎无感,但是3.8.2版本项目加载一个资源很小的预制体都要800多ms,并且这800多ms界面上所有动效还都会卡住,帧数会掉很多,加载完成后帧数才慢慢恢复,我也试了修改下载器参数比如限制每帧发起的最大请求数,但是没用,请问下这个如何优化或者提供个查找原因的思路呢?我都想把2.4.11的加载管线弄到3.8.2来用了,可有偿100+,望赐教

loading+预加载比较靠谱点

预加载不行的,首先弹窗很多,不知道要预加载哪些,其次要考虑内存问题

你们多少资源考虑内存问题 五六十M基本不用考虑内存问题直接在 loading吧这些资源加载了 就可以

3220
3.8.2的测试加载如下

不行的,remote总大小大概有150m,loading时间太长了

加载一个就几张图的预制体这个输出都是800ms

要我解决 就是拆分资源 公用多的 常用的 放到loading界面加载 不常用的在游戏里预加载

问题是我测试加载的预制体很小啊,里面就几张图几个lable

首次加载时间长我都可以加loaging菊花,不能接受的是加载这段时间内掉帧,界面上所有动效都卡主

我问一下,这次加载是你第一次从resources 这个bundle 里面加载东西吗?还是说每次都会这样?

一般来说,第一次加载bundle的时候,会下载bundle内的资源表json并且合并。就会慢不少。
如果是这样,那就拆分小asset bundle,我们都是拆很多asset bundle的,不会都放在resources里面。
或者你loading的时候找个resources内的资源加载一下,让这个bundle的json先下载合并好。

编辑:另外你可以看一下web开发工具的网络选项卡,你可以看到具体下载了哪些内容。说不定你的prefab依赖了一些你可能没有注意到的内容,例如里面一个label依赖了一个比较大的ttf字体等,如果这个字体没下过,那就要下载这个文件。

在resource.load之前已经assetManager.loadBundle把resource这个bundle加载过一次了,资源也检查过了,每个很大的资源,我现在不能接受的是掉帧,只要一调用resource.load就掉帧

整理一下首次加载进入界面有用到的资源 先单独预加载 空间换时间 其它的资源再往下优化

多说无意,上代码~

这么看看不出啥,预制体上的资源是远程加载的?

不是,在编辑器里面静态拖上去的

是不是 bundle太大了

我测了一下一个3.8.2的项目 load时间也都是800多ms,也是只有几个贴图那种,但是这个项目是在登录前就把资源都预加载了…倒是没有出现掉帧的情况,是不是界面上的动效太多了?用的粒子?

同时测了一下2.x的项目 :sweat_smile:差别是很大,我能想到的只能是预加载的时候不要一次性加载太多,写个定时器之类的

我不能全部预加载资源啊 资源太大了