大型WebGL应用程序加载时间

时间:2014-07-15 23:03:03

标签: javascript networking webgl loading

看看有人要创建一个基于WebGL的大型应用程序。让我们说这是一款3D微型管理游戏,它本身需要大约700兆字节的文件来运行它。

如何处理资产的加载。我原以为它必须异步完成,但我不确定它究竟会起作用。

P.S。我认为RollerCoaster Tycoon就是一个例子,但实际上它是关于从服务器到浏览器加载大型资产。

1 个答案:

答案 0 :(得分:2)

首先,您不希望用户下载700兆字节的数据,至少不能一次下载 应尽量保留尽可能多的资源(几何,纹理)程序。

需要下载的所有数据都应使用多个web workers以渐进式/按需方式加载 因为人们可能仍然需要使用javascript来处理数据,当拥有许多资源时,javascript可能会变得很重。

将数据打包到更大的包中也是可取的,以防止请求开销。 当然,一旦用户点击网站,就会抓住所有资源并尝试预加载数据。使用图像纹理和/或文本内容时,将其嵌入到html中(使用<img><script>标记)可以在某种程度上利用浏览器缓存。

使用WebSQL / IndexedDB / LocalStorage可以完成,但是由于目前配额非常低,而且quota management api的现实非常低/不存在,现在它不是一个可行的解决方案。