删除WebGL上下文

use*_*247 7 memory-management canvas webgl

我有一个页面使用了很多webgl上下文,每个画布一个.每次创建新的上下文时,都可以重新加载画布,调整大小等.它适用于多次重载,但最终当我尝试创建一个新的上下文时,它返回一个空值.我假设我的内存不足.

我希望能够删除我不再使用的上下文,这样我就可以恢复内存并将其用于我的新上下文.有没有办法做到这一点?还是有更好的方法来处理许多画布?

谢谢.

gma*_*man 5

这是Chrome和WebKit中的一个长期存在的错误

http://code.google.com/p/chromium/issues/detail?id=124238

无法在WebGL中"删除"上下文.每当系统绕过它时,垃圾收集就会删除上下文.此时将释放所有资源,但最好是删除自己的资源而不是等待浏览器删除它们.

正如我所说,这是一个错误.它最终会被修复,但我没有ETA.

我建议不要删除画布.保持它们并重新使用它们.

另一个建议是告诉我们为什么你需要200幅画布.也许你试图解决的问题会以不同的方式更好地解决.