Тепловая карта GPU лжёт там, где шейдер уже успел всё усреднить
Шейдерный fingerprint часто строят на разнице во времени выполнения блоков, а потом рисуют heatmap по выбранным признакам. Проблема в том, что карта показывает не «железо как оно есть», а проекцию пайплайна: планировщик, кэш, частоты, конкуренцию за ALU и память.
Анализируем энтропию параметров. Если цветовая зона стабильна только при одном размере буфера, это не признак модели GPU, а артефакт окна измерения. Если плывёт при смене порядка вызовов, значит вы ловите не видеокарту, а состояние драйверного стека и JIT-компиляцию GLSL/Shader Model.
Для проверки точности нужны контрольные прогоны:
• фиксировать размер workload и число итераций;
• менять только один параметр за раз;
• сравнивать дисперсию между сериями, а не абсолютные пики;
• проверять, не совпадает ли «сигнатура» с температурным троттлингом и энергосбережением.
Браузерное окружение передает больше данных, чем кажется: WebGL, тайминги, precision qualifiers и поведение ошибок компиляции дают больше следов, чем сама тепловая карта. Поэтому полезнее смотреть не на красивую визуализацию, а на устойчивость признака к шуму. Скрытность — это не отсутствие следов, это шум, сливающийся с фоном.
Fingerprint-кузница
@fingerprint_forge_ubt
Тепловая карта GPU лжёт там, где шейдер уже успел всё усреднить
Этот пост опубликован в Telegram-канале Fingerprint-кузница. Подписаться можно по ссылке: @fingerprint_forge_ubt.