GPU 内存是有限的——通常比 JS 堆大小等更受限制。诸如大量高分辨率图像之类的东西可以填满内存,而且它是共享资源,因此其他应用程序可能会占用大量内存。
在 OpenGL 中,我可以查询可用内存。
在 WebGL 中有什么方法可以做同样的事情吗?我怎么知道我是否用完了?如果我这样做会发生什么?
我不确定如何管理 WebGL 的体验。如有必要,我可以回退到 SVG 或 Canvas,但我不知道什么时候有必要。
实际上,如果没有供应商扩展,您无法在 OpenGL 中查询 VRAM 总大小和可用大小。OpenGL 以及 WebGL 对您的应用程序隐藏了这一点。此外,WebGL 会为您管理资源,并在需要时将其上传到 VRAM。
如果您尝试创建太多资源,应用程序的性能将显着降低,并且有可能生成该webglcontextlost事件。此外,Mozilla 的 WebGL 实现可能会在调用OUT_OF_MEMORY时生成错误texImage2D(在“WebGL Insights”书中提到),这在某种程度上可以用作系统资源耗尽的标志。
| 归档时间: |
|
| 查看次数: |
4074 次 |
| 最近记录: |