知道在three.js中可以加载多少

时间:2019-02-05 10:35:01

标签: memory three.js

所以我一直在研究加载角色模型,并通过多次加载同一模型以创建一支军队来进行一些压力测试。在高端计算机上可以正常工作,但是在32位工作笔记本电脑上进行测试时,出现内存不足错误。我的问题是,有什么方法可以知道模型将占用多少内存,无论是外部文件还是在运行时生成的,然后找出客户端可以处理多少内存,并适当地调节内存使用(军力较小,加载低,最终模型,减小纹理大小等)?

1 个答案:

答案 0 :(得分:1)

由于安全和隐私方面的考虑,WebGL无法访问系统的内存或处理功能。它的设计旨在防止恶意行为,因此无法找出崩溃前可以处理多少个模型。

但是,WebGL确实可以使用GPU的几种功能。如果您检出Three's WebGLRenderer.capabilities,将会看到您可以访问多个最大值。您可以将它们用作比较点,然后根据用例定义什么构成“高端”和“低端”计算机。您可以通过在任何计算机上访问http://webglreport.com/来查看具有相同功能的格式正确的输出,还可以在http://webglstats.com/上查看全局设备功能

此外,您还应该考虑screen.widthscreen.height。如果设备的宽度或高度不超过1000像素,则无需加载高清纹理和模型。

最后,您可以为用户提供选择“高”或“低”体验的选项,让他们自己确定。