GPU 内存是有限的——通常比 JS 堆大小等更有限。诸如大量高分辨率图像之类的东西可能会填满内存,而且它是共享资源,因此其他应用程序可能会使用大量内存。
在 OpenGL 中,我可以查询可用内存。
WebGL 有没有办法做同样的事情?我怎样才能知道我是否用完了?如果我这样做会发生什么?
我不确定如何管理 WebGL 的体验。如果有必要,我可以退回到 SVG 或 Canvas,但我不知道什么时候有必要。
实际上,如果没有供应商扩展,您无法在 OpenGL 中查询 VRAM 总大小和可用大小。 OpenGL 以及 WebGL 对您的应用程序隐藏了这一点。此外,WebGL 会为您管理资源,并在需要时将其上传到 VRAM。
如果您尝试创建太多资源,应用程序的性能将显着降低,并且有可能生成webglcontextlost
事件。此外,Mozilla 的 WebGL 实现可能会生成OUT_OF_MEMORY
错误texImage2D
调用(在“WebGL Insights”书中提到),在某种程度上,它可以用作系统资源耗尽的标志。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)