看看是否有人要创建基于 WebGL 的大型应用程序。假设这是一个 3D 微管理游戏,运行它本身需要大约 700 兆字节的文件。
如何处理 Assets 的加载。我本以为它必须异步完成,但我不确定它究竟是如何工作的。
附言我想以过山车大亨为例,但实际上它是关于从服务器向浏览器加载大型 Assets 。
最佳答案
首先,您不希望您的用户下载 700 兆字节的数据,至少不要一次下载。
应该尽量保留尽可能多的资源(几何、纹理)程序。
所有需要下载的数据都应该使用多个 web workers 以渐进/按需方式加载 因为人们可能仍然需要使用 javascript 处理数据,当拥有很多资源时,它可能会变得相当 cpu 繁重。
将数据打包成更大的包也可能是可取的,以防止请求开销。
当然,人们会 gzip 所有资源,并在用户访问网站时尝试预加载数据。当使用图像纹理和/或文本内容时,将其嵌入到 html 中(使用 <img>
和 <script>
标签)允许在一定程度上利用浏览器缓存。
可以使用 WebSQL/IndexedDB/LocalStorage,但由于当前的配额非常低,而且 quota management api 的实现不可靠/不存在|目前这不是一个可行的解决方案。
关于javascript - 大型 WebGL 应用程序加载时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24769587/