Программный рендеринг WebGL, откат возможностей и приватность
Спроектируйте доступный откат WebGL на программный рендеринг и отделите проверку возможностей от профилирования устройства.
BotBrowser Team
Нужна структурированная документация по теме Отпечатки?
Эта статья относится к редакционной библиотеке. Для пошаговой настройки, справки и постоянных обновлений переходите сразу в соответствующий раздел docs.
WebGL не требует от приложения знать физический GPU. Страница может проверить доступность нужного контекста, выполнить поддерживаемую операцию и предложить рабочую альтернативу при ошибке. При программном рендеринге страница может остаться функциональной, хотя изменятся скорость, память и практические лимиты. BotBrowser может повторить этот разрешённый сценарий с указанным профилем и режимом, но не гарантирует одинаковые возможности на каждом хосте и не доказывает свойство приватности.
Начните с видимой задачи
Опишите результат: навигация по карте, управление видом товара или читаемый отчёт. Спецификация WebGL Khronos задаёт контракт API, а справочник WebGL MDN описывает доступность в браузере. Эти источники не обещают одинаковую производительность на всех хостах.
Нулевой контекст, отсутствующее расширение или ошибка шейдера являются ветками продукта. Не превращайте их в сбор имени рендерера, драйвера или инвентаря устройства.
Программный путь не является вердиктом приватности
Программный механизм может сохранить сцену при недоступном аппаратном ускорении, но увеличить время запуска. Разделяйте видимый результат и операционную производительность. При сравнении сохраняйте браузер, профиль, область просмотра и тестовый случай. Результат относится только к заявленным хосту, режиму и странице.
Восстановите потерю контекста
Обрабатывайте webglcontextlost и webglcontextrestored, пересоздавайте ресурсы и храните состояние задачи вне GPU. При неудаче переходите к DOM, Canvas 2D, статическому preview или режиму без графики. Откат должен работать с клавиатурой, иметь достаточный контраст и не показывать частные сведения о хосте.
Минимизируйте данные
Для решения о возможности обычно нужны результат и состояние приложения. Не сохраняйте строки renderer, все лимиты, результаты шейдеров или постоянные хэши без проверенной цели. Такая проверка не доказывает анонимность, безопасность или отсутствие слежения. См. возможности WebGL и приватность и WebGL fingerprinting.
Роль BotBrowser
BotBrowser может повторить разрешённый WebGL-сценарий с указанными профилем, версией, хостом и режимом. Его настройки WebGL позволяют сравнить программный путь с принятой базой. Он не гарантирует одинаковые возможности или пиксели на каждом GPU, драйвере и образе Linux и не доказывает приватность или анонимность. См. документацию BotBrowser WebGL.
Запишите тестовую версию, пару браузер/профиль, хост, операцию, откат, доступный результат, наблюдение производительности, владельца и дату. Повторяйте базу после изменений версии, профиля, образа хоста или графической библиотеки.
Источники
Похожие статьи
Переведите BotBrowser из исследований в продакшн
Используйте эти руководства, чтобы понять модель, а затем перейти к кроссплатформенной валидации, изолированным контекстам и масштабируемому браузерному развертыванию.