新手提问,关于资源加载的效率的几个问题

1.小项目小图片很多,例如一个技能帧动画就有10来张图片,这些全都分类放在了resources.pic目录下,我想进入场景前先加载必要图片,进入后默默异步加载其他图片例如技能10的图片,进入战斗前检查是否加载完成,没完成提示玩家稍等,这个是否是最佳的方式?

2.手机测试时有个问题是,当使用resources.loadDir的时候,游戏会卡,fps会掉0;使用loadRes一个一个加载则不会明显卡,但是图片一多,速度就不如loadDir快,这个也只能这样么?

3.我看到大家有说分包这个东西,我一直没理解:微信小游戏是不是超过包体4M的情况才要用分包,也只能用分包?

4.分包又是存在哪里的?加载分包和我前面用的resources.loadDir和resources.loadRes有什么关系,是否也会降fps呀

5.现在我的游戏加载资源时间太长了,不知道要怎么优化,我常看到游戏进入首页时提示:首次加载慢请稍等,那么第二次加载就不会慢了么,为什么?不是仍然需要加载到内存么,还是要耗这么多时间呀?

1、进入战斗前根据本次战斗所需要的技能进行收集并同一加载,表现方式可以设置个进度条;
2、用loadRes并行加载;
3、你可以理解成一个项目要上微信,入口文件夹(主包)不能超过4M,超过了就要和其它文件(分包)独立开来,整个项目不能超过30M;
4、小游戏主/分包都存放在微信的服务器,进入游戏自动加载主包(这就是为什么主包要小,减少启动加载时间);
5、因为资源放在服务器,首次加载需要从服务器下载到本地,然后再到内存(慢),第二次加载就直接读在本地的资源到内存了。

个人的理解拙见,仅供参考。

我说先想到的就是把零散图片打成图集,零散加载的效率是最低的。

提前加载是没错的,但使用分帧加载就行,不需要一张张加载