Я разрабатываю приложение WebGL для Интернета и мобильных устройств. Я часто использую жесткие обновления для проверки результатов моей реализации WebGL. После просмотра попыток, я получаю ошибку:Как бесплатно и мусор собирать контекст WebGL?
Error: WebGL: Exceeded 16 live WebGL contexts for this principal, losing the least recently used one.
Это не появляется на свежем начал браузер, но после обновления сайта несколько раз. Я предполагаю, что контексты WebGL не закончены, выпущены, уничтожены, очищены, освобождены правильно.
Как это сделать?
Khronos Group создали тестовый набор для освобождения и мусора сбор контекст WebGL здесь: https://www.khronos.org/registry/webgl/sdk/tests/conformance/context/context-creation-and-destruction.html (Примечание: Это может привести к сбою ваш браузер!)
Испытание проходит через с PASS
и TEST COMPLETE
, поэтому поясню тест не обнаруживает любые вопросы. Однако, открыв консоль JavaScript, он читает 33 экземпляров:
Error: WebGL: Exceeded 16 live WebGL contexts for this principal, losing the least recently used one.
Является ли это ошибка в том, как WebGL обрабатывается браузером? Или я делаю что-то неправильно? Я никогда не думал о том, чтобы освободить контексты WebGL.
Я использую Firefox Developer Edition 48.0a2 и Firefox 46.0.1.
Как бесплатно и мусор собирать контекст WebGL?