Перейти к содержимому

Блог

Что настоящая машина говорит о видеокарте

Профиль отдаёт сайту то имя видеокарты, которое вы выберете из списка его платформы. Чего он не отдаёт, так это состояния самой карты, и арендованная машина Windows ответила на второй вопрос 14 строками, среди которых нет ни одной ускоренной.

Команда ARMANOS6 мин

Два ответа об одной карте

Страница может спросить у браузера имя видеокарты.

Второй ответ это собственный опрос машины, который браузер ведёт для себя. Эту таблицу страницам не отдают.

  1. 1

    Спрашивает имя

    Поставщик и отрисовщик, о которых браузер сообщает для карты.

  2. 2

    Состояние держит браузер

    На каждое умение своя строка, и в ней состояние, а не имя.

  3. 3

    Что сайт складывает сам

    Названная карта, за которой нет WebGPU, стоит второго взгляда.

Что ответила арендованная машина

Оба вопроса мы задали арендованному серверу Windows с нашей собственной сборкой. Своей видеокарты у него нет, и именно поэтому его ответ стоит читать.

Все строки таблицы умений вернулись выключенными. Часть из них уходит на программную отрисовку, остальные выключены, и за ними нет ничего вовсе.

Замерено на арендованной машинеОтвет
Строк умений отдал движок14
Строк, которые ведёт видеокарта0
Строк, ушедших на программный путь5
Карт перечислила машина2, один и тот же простой драйвер
Записей о драйверах перечислила машина0

Где дороги нет вовсе

WebGPU это вторая дорога к тому же железу, и на этой машине она не узкая, а отсутствует. Спрашивать было попросту не у чего.

Мы попробовали три способа запуска, каждый дважды: скрыто и с настоящим окном на экране. Все 6 попыток ответили одинаково.

  • Запуск как есть

    Входа нет вовсе.

  • Просили программного поставщика

    Входа нет, и просьбе не к чему было прикрепиться.

  • Просили программную отрисовку целиком

    Входа нет ни на скрытом заходе, ни на видимом.

Почему довод запуска не помог

Довод запуска выбирает, какой поставщик обслужит WebGPU. Он бессилен, когда браузер уже пометил само умение выключенным в своём опросе машины.

Эта пометка ложится раньше всякого выбора поставщика. Ни одно сочетание доводов её не сдвинуло, а причина лежит слоем ниже того, чем доводы распоряжаются.

Имя это лёгкая половина

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

Выберите другой отрисовщик из списка, и архитектура процессора у профиля перерисуется следом. Карта одного семейства рядом с процессором другого описывает машину, которую никто не продаёт.

  1. 1

    Пара движется вместе

    Поставщик без своего отрисовщика это расхождение, видное любой проверке.

  2. 2

    Набор выбирает платформа

    Строка отрисовщика Windows совсем не похожа на ту, что даёт машина Linux.

  3. 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, видит машину без карты, на которую он и смотрит.
Программный отрисовщик заполнил бы таблицу?
Он сдвинул бы часть строк, но не приговор. Умение было помечено выключенным ещё до того, как дело дошло до поставщика.
Имя карты где-нибудь хранится на диске?
Пока имя выводится, нет: пара берётся из зерна профиля при каждом запуске. Пару, выбранную из списка, программа хранит вместе с профилем, чтобы следующий запуск её не потерял.
Меняет ли что-нибудь прокси?
Нет. Адрес приходит со стороны, а каждый описанный здесь ответ рождается на машине перед вами.

Посмотрите, что отвечает ваш браузер

Проверка читает 12 значений и никуда их не отправляет.