网站/浏览器游戏:预加载资源

Wesbite / Browser game: Preloading ressources

所以我做了一些研究,但没有找到我正在寻找的东西。 我发现 this question 了解如何预加载图像(我想可能也适用于视频?)

所以问题是我们是否应该预加载资源(video/images 而不是 css 或脚本)? 我制作了一个 gacha 系统(就像手机上的 gacha 游戏),你可以在其中 'pull' 个角色和一个视频,就在每个 'pulls' 之前。 在本地,一切都又快又酷,但现在我托管了它并尝试了它……它太长了,因为还没有计算任何东西。

图像太多,无法在 "game" 开头预加载所有图像 我想知道如何解决它,我认为我应该

这样好看吗?还有其他方法吗?我搜索了但没有发现其他人是如何处理这个问题的(我有点不擅长搜索东西:/)

嗯,你已经提到了。您将需要 pre-load 向用户显示 "fast" 所需的所有内容。在游戏前放一个加载屏幕,列出所有关键资源并加载它们。您可以通过创建各自的 objects 并监听 "load" 事件来加载图像和视频。加载所有关键资源后,开始游戏。

确保您的服务器正确配置了长缓存 headers,这样您的玩家就不必在 re-visiting 您的游戏中再次下载资源。

您甚至可以在游戏已经开始时继续在后台加载不太重要的资源。如果用户遇到尚未加载的 graphic/video,请改为显示占位符,并且可能 re-queue 将缺少的资源放在加载列表的顶部。

你可以在这里做很多负载优化的事情。我要给出的第一个建议:通过使用例如 kraken.io 图像(不确定视频是否有类似的东西)来使您的资产尽可能小。

同时尝试在您的服务器上启用 http/2 - 这会在您使用许多资产时提高加载速度。如果由于某些原因您不能使用 http/2,请尝试组合您的资产 - 例如查找 spritemaps。也可以将视频合二为一,在游戏的各个区域只玩自己想玩的部分。