微信小游戏的加载资源速度太不稳定了

资源都放远程了,有时候一个界面要等几十秒才能显示,一看资源也不大,都是同一个cdn,不同资源差距这么大?

1赞

可能回源了。

回原是什么意思?

最近微信都这样了,我猜测是微信限制了单线程的缘故

回源就是CDN上的缓存过期了,资源从源路径加载,这个过期时间可以自己设置,但是这17K加载耗时38秒多,回源也不会这么慢,应该其他问题吧

首先要确认构建指定的地址是否cdn的地址。
如果指定了源地址,源服务器有可能有连接数的限制,或因为源服务器可能带宽容量不够,下载有可能很慢甚至无法下载。

其次,构建时如果勾选了md5的话,除js,html代码资源外,其他资源都可以直接设置最长的过期时间,
每次更新就刷新下cdn就行了。

1赞

谢谢,正在问微信官方是不是他们的问题

你这个处理办法不对,你应该将资源打包zip,小游戏进入的时候给个进度条下载zip,解压后将资源预缓存,这样才能避免加载个页面各种异步不可控,cdn也不是办法,经常抽风,再说你的资源会越来越多,都等着一点点的异步加载么?

1赞

你好,我也想过这个办法,有没有什么方法留下初始场景和的所有依赖资源放包里,这样才能监听下载进度

:joy:zip!!!!!!!!????????

zip等于是加大了缓存粒度了。。。。
浏览器的Etag可以大大减少二次下载必要的,打包zip后,就只能自己去控制缓存的失效性。
但zip的一个好处是可以大幅度减少http请求数。
所以只能按自己需要取舍了。

我们项目不使用zip,首屏减少必要的文件下载,http请求数控制在30以内。
之后再分步下载,比较首屏显示的过程中后台会慢慢下载,
切场景过程中再下载,
进入游戏可以按界面下载并缓存,减少打开界面所需要的时间