Memory 有多少WebGL内存可用?当我用完时会发生什么?

Memory 有多少WebGL内存可用?当我用完时会发生什么?,memory,webgl,Memory,Webgl,GPU内存是有限的——通常比JS堆大小等更有限。像很多高分辨率图像这样的东西可以填满内存,而且它是一个共享资源,因此其他应用程序可能会占用大量内存 在OpenGL中,我可以查询可用内存 在WebGL中有什么方法可以做到这一点吗?我怎么知道我是否用完了?如果我这样做会发生什么 我不确定如何管理WebGL的体验。如果有必要,我可以求助于SVG或Canvas,但我不知道什么时候是必要的。实际上,如果没有供应商扩展,您无法在OpenGL中查询VRAM总数和可用大小。OpenGL和WebGL会从应用程序中

GPU内存是有限的——通常比JS堆大小等更有限。像很多高分辨率图像这样的东西可以填满内存,而且它是一个共享资源,因此其他应用程序可能会占用大量内存

在OpenGL中,我可以查询可用内存

在WebGL中有什么方法可以做到这一点吗?我怎么知道我是否用完了?如果我这样做会发生什么


我不确定如何管理WebGL的体验。如果有必要,我可以求助于SVG或Canvas,但我不知道什么时候是必要的。

实际上,如果没有供应商扩展,您无法在OpenGL中查询VRAM总数和可用大小。OpenGL和WebGL会从应用程序中隐藏它。此外,WebGL为您管理资源,在需要时将其上载到VRAM


如果试图创建太多资源,应用程序的性能将显著降低,并且有可能生成
webglcontextlost
事件。此外,Mozilla的WebGL实现可能会在
texImage2D
调用中产生
内存不足
错误(这在“WebGL洞察”一书中提到),这在某种程度上可以作为耗尽系统资源的标志。

Chrome现在在开发工具中有一个内置FPS表。 此外,您可以看到“已使用”和“最大”GPU内存。

在我的系统上,它被限制为512 MB,我有一个4GB的图形卡。 因此,我认为这是你在桌面系统上可以使用的最大VRAM每个标签

有关于它的内容,谷歌也在两年前与khronos group Developers一起发现了这一点。这似乎不可行。正确:(连浏览器都不知道。它只是调用系统,并期望GL_内存不足。