Javascript WebGL:内存不足时检测

Javascript WebGL:内存不足时检测,javascript,memory-management,webgl,Javascript,Memory Management,Webgl,我正在制作一个应用程序,它有时需要大量的GPU内存(许多巨大的纹理)。我可以制作一个系统,在GPU内存中保存常用的纹理,只有在需要的时候才上传和删除其余的纹理 一般来说,总有比GPU内存更多的纹理,我可以使用的内存越多,我的程序就越快。我不想把自己限制在100 MB或1 GB的内存范围内,因为这样可以多使用4倍的内存。但是如果我试图分配太多,浏览器会杀死我的程序 我明白了,在WebGL中,没有直接的方法来判断有多少内存可用。你的策略是什么,如何解决这个问题 不要那样做!在整个项目中可能重复进行修

我正在制作一个应用程序,它有时需要大量的GPU内存(许多巨大的纹理)。我可以制作一个系统,在GPU内存中保存常用的纹理,只有在需要的时候才上传和删除其余的纹理

一般来说,总有比GPU内存更多的纹理,我可以使用的内存越多,我的程序就越快。我不想把自己限制在100 MB或1 GB的内存范围内,因为这样可以多使用4倍的内存。但是如果我试图分配太多,浏览器会杀死我的程序


我明白了,在WebGL中,没有直接的方法来判断有多少内存可用。你的策略是什么,如何解决这个问题

不要那样做!在整个项目中可能重复进行修订。您无法通过查看内存使用情况来防止此错误。您需要找到主要bug的位置。检查每个或循环的全部,同时优化纹理大小和其他大数据。@gman我的应用程序中99%的内存由ArrayBuffers使用,当没有足够的内存用于新的ArrayBuffer时,它会抛出一个错误。我抓住它并适应它。必须有一种方法为WebGL实现这一点。即使现在没有,也必须创建它。@NikolaLukic你说的bug是什么意思?在我的程序中还是在浏览器中?很明显,一旦我开始创建纹理,内存最终会耗尽,我只想能够检测到它。