看看是否有人要创建一个基于WebGL的大型应用程序。假设这是一个3D微管理游戏,它本身就需要大约700兆的文件来运行它。
如何处理资产的加载。我假设它必须异步完成,但我不确定它到底是如何工作的。
附注:我想以RollerCoaster Tycoon为例,但实际上它是关于从服务器到浏览器加载大型资产。
发布于 2014-07-17 09:26:30
首先,你不希望你的用户下载700兆字节的数据,至少不是一次下载。
一个人应该尝试尽可能多地保留资源(几何体,纹理)。
所有需要下载的数据都应该使用多个web workers以渐进/按需的方式加载,因为可能仍然需要用javascript处理数据,当有很多资源时,这可能会变得相当繁重。
将数据打包到更大的包中也可能是可取的,以防止请求开销。可以肯定的是,一旦用户访问网站,就会压缩所有资源,并尝试预加载数据。当使用图像纹理和/或文本内容时,将其嵌入html(使用<img>和<script>标记)允许在某种程度上利用浏览器缓存。
使用WebSQL/IndexedDB/LocalStorage是可以做到的,但由于目前配额很低,而且quota management api的实现不完整/不存在,所以现在还不是一个可行的解决方案。
https://stackoverflow.com/questions/24769587
复制相似问题