javascript - 大型 WebGL 应用程序加载时间

标签 javascript networking webgl loading

看看是否有人要创建基于 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/

相关文章:

java - java中通过socket连接测量网络使用情况

sockets - 套接字是应用程序通过 Internet 进行通信的唯一方式吗?

arrays - WebGL 着色器中的 const float 数组

javascript - WebGL - 绘制元素 : The texture is a non-power-of-two texture or not mipmap complete

javascript - 表单验证插件因类而失败

javascript - 创建 JSON 对象的层次结构数组

javascript - KnockoutJS 无法将输入字段设置为 false 值

linux - 如何向套接字提供目标MAC地址

opengl-es - 颜色属性在 VBO 中如何工作?

javascript - 使用 simplePagination.js 显示 json 数据?