К обсуждениям

Plotly Scattergl сначала рисуется, затем исчезает в Brave: матрица WebGL context lost

Редакция VOne Технологии

Как отличить исходную недоступность 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 не воспроизводятся.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.