Блог
Что настоящая машина говорит о видеокарте
Команда ARMANOS6 мин
Два ответа об одной карте
Страница может спросить у браузера имя видеокарты.
Второй ответ это собственный опрос машины, который браузер ведёт для себя. Эту таблицу страницам не отдают.
- 1
Спрашивает имя
Поставщик и отрисовщик, о которых браузер сообщает для карты.
- 2
Состояние держит браузер
На каждое умение своя строка, и в ней состояние, а не имя.
- 3
Что сайт складывает сам
Названная карта, за которой нет WebGPU, стоит второго взгляда.
Что ответила арендованная машина
Оба вопроса мы задали арендованному серверу Windows с нашей собственной сборкой. Своей видеокарты у него нет, и именно поэтому его ответ стоит читать.
Все строки таблицы умений вернулись выключенными. Часть из них уходит на программную отрисовку, остальные выключены, и за ними нет ничего вовсе.
| Замерено на арендованной машине | Ответ |
|---|---|
| Строк умений отдал движок | 14 |
| Строк, которые ведёт видеокарта | 0 |
| Строк, ушедших на программный путь | 5 |
| Карт перечислила машина | 2, один и тот же простой драйвер |
| Записей о драйверах перечислила машина | 0 |
Где дороги нет вовсе
WebGPU это вторая дорога к тому же железу, и на этой машине она не узкая, а отсутствует. Спрашивать было попросту не у чего.
Мы попробовали три способа запуска, каждый дважды: скрыто и с настоящим окном на экране. Все 6 попыток ответили одинаково.
Запуск как есть
Входа нет вовсе.
Просили программного поставщика
Входа нет, и просьбе не к чему было прикрепиться.
Просили программную отрисовку целиком
Входа нет ни на скрытом заходе, ни на видимом.
Почему довод запуска не помог
Довод запуска выбирает, какой поставщик обслужит WebGPU. Он бессилен, когда браузер уже пометил само умение выключенным в своём опросе машины.
Эта пометка ложится раньше всякого выбора поставщика. Ни одно сочетание доводов её не сдвинуло, а причина лежит слоем ниже того, чем доводы распоряжаются.
Имя это лёгкая половина
Имя карты, о котором сообщает профиль, выводится из его зерна парой. Поставщик и отрисовщик движутся вместе, и у каждой платформы свой набор пар.
Выберите другой отрисовщик из списка, и архитектура процессора у профиля перерисуется следом. Карта одного семейства рядом с процессором другого описывает машину, которую никто не продаёт.
- 1
Пара движется вместе
Поставщик без своего отрисовщика это расхождение, видное любой проверке.
- 2
Набор выбирает платформа
Строка отрисовщика Windows совсем не похожа на ту, что даёт машина Linux.
- 3
Процессор следует за картой
Выбор другого отрисовщика перерисовывает архитектуру, о которой сообщает профиль.
Неизмеренное это не зачёт
Приёмка на этой машине не смогла снять картинку через WebGPU, потому что снимать было не с чего. Такую строку она считает проваленной, а не пропущенной, и сборку не приняла.
Поэтому про WebGPU на Windows мы говорим ровно до того места, где кончился замер. Дорога, по которой никто не проехал, у нас не считается открытой.
Чего это не утверждает
- Это не утверждает, что WebGPU работает на машине Windows, у которой видеокарта есть. На такой машине дорога ещё не замерена, и до тех пор мы не говорим о ней ни того, ни другого.
- Замер снят на одном арендованном сервере без видеокарты. Настольная машина с картой отвечает иначе, и переносится отсюда вид ответа, а не сами числа.
- Это не утверждает, что сошедшиеся имя и состояние делают профиль безопасным. Убрано одно противоречие из многих, а поведение, платёжные данные и история аккаунта остаются нетронутыми любым браузером.
- Таблица умений принадлежит той машине, на которой всё идёт. Профиль своей не носит, и наш движок её не переписывает.
Где это можно увидеть самому
Каждое число выше выходит из файла, который можно открыть и прочитать.
- Таблица умений, которую отдала машина
- docs/замеры/gpu-status-windows-04-09.log
- 6 попыток WebGPU на той же машине
- docs/замеры/webgpu-windows-04-09.log
- Набор пар по платформам и с чем сверяют выбор
- packages/shared/src/index.js
- Неизмеренная строка WebGPU считается провалом
- engine/scripts/engine-invariants.js
- Выбранная рукой пара хранится вместе с профилем
- apps/desktop/src/main/main.js
Вопросы
- Почему не подогнать таблицу под имя карты?
- Это собственный ответ машины о её драйверах, а не значение, которое носит профиль. Переписав его, мы изменили бы отрисовку для всех профилей на этом компьютере.
- Значит сервер плохое место для профилей?
- Значит сервер отвечает про видеокарту так, как отвечает сервер. Сайт, встретивший названную карту, за которой нет WebGPU, видит машину без карты, на которую он и смотрит.
- Программный отрисовщик заполнил бы таблицу?
- Он сдвинул бы часть строк, но не приговор. Умение было помечено выключенным ещё до того, как дело дошло до поставщика.
- Имя карты где-нибудь хранится на диске?
- Пока имя выводится, нет: пара берётся из зерна профиля при каждом запуске. Пару, выбранную из списка, программа хранит вместе с профилем, чтобы следующий запуск её не потерял.
- Меняет ли что-нибудь прокси?
- Нет. Адрес приходит со стороны, а каждый описанный здесь ответ рождается на машине перед вами.
Рядом с этим
Отпечаток WebGPU
Вторая дорога к тому же железу и что она отдаёт наружу.
Отрисовщик WebGL
Строка, которая называет карту, и насколько её можно сдвинуть.
Движок, который мы собираем
Что изменено внутри браузера и что на нём замерено.
Бесплатная проверка отпечатка
12 значений, прочитанных в вашем браузере, и ни одного запроса наружу.
Посмотрите, что отвечает ваш браузер
Проверка читает 12 значений и никуда их не отправляет.