Подтвердить что ты не робот

Ошибка: WebGL: превысил 16 контекстов WebGL в реальном времени для этого принципала, потеряв последний использованный

У меня есть JavaScript с помощью пакета THREE.js, я внесла некоторые изменения, увидел ошибку и отключил все изменения, которые я сделал.

Однако осталась следующая ошибка:

Ошибка: WebGL: превзошло 16 контекстов WebGL в реальном времени для этого принципала, потеряв хотя бы последнее использование.

Google-поиск не показал ничего полезного (16 хитов!).

Кто-нибудь знает, что происходит? Может быть, эта ошибка не имеет ничего общего с моим script, но с самим браузером?

4b9b3361

Ответ 1

В моем случае решение было таким же простым, как закрытие окна браузера, открытие нового и перезагрузка проекта. Ошибка появляется только после того, как я перезагрузил мой проект в том же окне более 16 раз.

Ответ 2

Я вижу эту ошибку в FireFox (55), это произошло во многих небольших тестовых проектах, над которыми я работал.

Единственное решение, которое я нашел, - закрыть и снова открыть FireFox, что заставляет меня думать, что что-то не очищается при обновлении страницы. Я также заметил, что оставлять мой браузер открытым ночью может привести к очень низкой производительности на следующий день, пока я не перезагружу свой компьютер. Возможно, проблема Threejs или FireFox (55) при работе с WebGL.

Я продолжу расследование, когда буду работать.

Ответ 3

В Chromium существует фиксированное количество экземпляров контекста WebGL, 16: https://code.google.com/p/chromium/issues/detail?id=226868

Возможно, вы либо открыли 17 + вкладки одновременно, либо у вас есть один или контекст с комбинированным разрешением пикселей более 16 * 1024 * 1024.