Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 大型WebGL应用程序加载时间_Javascript_Networking_Webgl_Loading - Fatal编程技术网

Javascript 大型WebGL应用程序加载时间

Javascript 大型WebGL应用程序加载时间,javascript,networking,webgl,loading,Javascript,Networking,Webgl,Loading,看看是否有人要创建一个基于WebGL的大型应用程序。假设它是一款3D微管理游戏,运行它需要大约700兆字节的文件 如何处理资产的装载。我会假设它必须异步完成,但我不确定它到底是如何工作的 另外,我想以过山车大亨为例,但实际上这是关于将大型资产从服务器加载到浏览器的问题。首先,你不希望你的用户下载700兆字节的数据,至少不能一次下载。 人们应该尽量保留尽可能多的资源(几何体、纹理) 所有需要下载的数据应使用多个文件以渐进/按需方式加载 因为可能仍然需要使用javascript处理数据,当有很多资源

看看是否有人要创建一个基于WebGL的大型应用程序。假设它是一款3D微管理游戏,运行它需要大约700兆字节的文件

如何处理资产的装载。我会假设它必须异步完成,但我不确定它到底是如何工作的


另外,我想以过山车大亨为例,但实际上这是关于将大型资产从服务器加载到浏览器的问题。

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

所有需要下载的数据应使用多个文件以渐进/按需方式加载 因为可能仍然需要使用javascript处理数据,当有很多资源时,javascript可能会占用大量cpu

将数据打包到更大的包中也可以避免请求开销。 可以肯定的是,一旦用户点击网站,gzip就会访问所有资源并尝试预加载数据。使用图像纹理和/或文本内容时,将其嵌入html(使用
标记)可以在一定程度上利用浏览器缓存


使用WebSQL/IndexedDB/LocalStorage是可以做到的,但由于目前配额非常低,而且它的实现很脆弱/不存在,所以目前还不是一个可行的解决方案。

好吧,您希望及时为初学者提供资产。这包括在几乎完成当前操作时加载下一级。您还希望使用webSQL/indexedDB尽可能多地缓存内核。您还可以在加载过程中使用cutscene动画、提示或任务详细信息让他们保持忙碌。