Как отличить исходную недоступность WebGL от потери уже созданного контекста, если график Plotly появляется и заменяется ошибкой, не включая экспериментальные flags и не меняя драйверы.
Зафиксируйте последовательность, а не итоговый экран
Запишите, появляется ли график хотя бы на мгновение, через сколько исчезает и какой текст остаётся после этого. Начальная отрисовка означает, что некоторый WebGL-контекст был создан в этой попытке; она не гарантирует его устойчивость и не исключает другой контекст у простого теста. Используйте локальный обезличенный набор из нескольких точек, чтобы данные графика не раскрывали проект. Запишите версии Brave, ОС и графического драйвера без серийных идентификаторов. Не снимайте вывод brave://gpu целиком для публичного форума до проверки: он может содержать лишнюю информацию о системе.
Сравните простой canvas и Scattergl
Откройте в одном профиле минимальный WebGL-контроль и локальную страницу с одним Scattergl-графиком. Повторите одинаковую последовательность после обычного перезапуска браузера, не меняя flags и защитные настройки. Для каждого варианта отметьте три состояния: не создался, создался и остался, создался и был потерян. Если простой canvas устойчив, а Scattergl теряется, это граница нагрузки или жизненного цикла конкретной страницы, но не доказательство ошибки Plotly или Brave. Если оба контекста теряются, пакет следует направить как более общий WebGL-симптом.
Наблюдайте стандартное событие потери
MDN и спецификация WebGL определяют событие webglcontextlost для canvas. В тестовой странице добавьте только локальный обработчик, который фиксирует время события и факт его получения, не отправляя данные наружу. Не блокируйте восстановление и не внедряйте код в чужой сайт. Сопоставьте отметку с моментом исчезновения Plotly. Отсутствие события не опровергает проблему: ошибка могла возникнуть на другом уровне или страница могла скрыть контекст. Наличие события подтверждает потерю созданного контекста, но не называет причину — нехватку ресурсов, reset драйвера или защитную политику определяют отдельно.
Сформируйте безопасный сравнительный отчёт
В отчёт включите минимальный локальный пример без реальных данных, версии, таблицу двух контролей, время webglcontextlost и результат нового пустого профиля. Не включайте экспериментальные GPU flags, не отключайте системную защиту графики и не обновляйте драйвер в середине матрицы. Если чистый профиль меняет результат, это сужает границу профиля, но не обвиняет конкретное расширение. Стоп-критерий — мерцание всего экрана, reset драйвера, зависание системы или необходимость воспроизвести рабочие данные. Тогда сохраните состояние и передайте минимальный пример разработчикам без дальнейшей нагрузки на GPU.
Материал подготовлен редакцией VOne с применением ИИ для временной матрицы; событие context lost вручную сверено с MDN и Khronos, а пользовательские данные и неподтверждённая причина из issue не воспроизводятся.
Источники и проверка
- MDN webglcontextlost event проверено 2026-08-07
- Khronos WebGL 1.0 specification проверено 2026-08-07
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.