Как узнать версию шейдеров видеокарты: от DX9 до DX12 Ultimate

Версия шейдеров (Shader Model) — ключевой параметр видеокарты, определяющий её совместимость с современными играми, 3D-рендерингом и графическими приложениями. От Shader Model 2.0 (устаревший стандарт) до Shader Model 6.7 (актуальный для DirectX 12 Ultimate) — разница колоссальна: новые версии поддерживают рейтрейсинг, меш-шейдеры и переменную скорость рендеринга (VRS). Без знания этой характеристики вы рискуете столкнуться с артефактами в играх, ошибками компиляции шейдеров или полной неработоспособностью программ.

Проблема в том, что производители видеокарт (NVIDIA, AMD, Intel) редко указывают версию шейдеров в технических спецификациях. Вместо этого они оперируют терминами вроде "поддержка DirectX 12" или "вулкан-совместимая", что не даёт точного ответа. Эта статья поможет определить точную версию шейдерной модели вашего GPU — от интегрированной графики Intel UHD до флагманских RTX 4090 или Radeon RX 7900 XTX.

Что такое Shader Model и почему это важно

Шейдерная модель (Shader Model, SM) — это набор инструкций, которые понимает графический процессор для обработки вершин, пикселей, геометрии и вычислений. Фактически, это "язык программирования" для видеокарты. Каждая новая версия добавляет возможности:

  • 🎮 SM 2.0–3.0: Базовая поддержка пиксельных и вершинных шейдеров (игры начала 2000-х, например, Half-Life 2).
  • 🖥️ SM 4.0–5.0: Геометрические шейдеры, тесселяция (DirectX 10/11, игры вроде GTA V или The Witcher 3).
  • 💎 SM 6.0+: Рейтрейсинг, меш-шейдеры, VRS (DirectX 12 Ultimate, Cyberpunk 2077 с трассировкой лучей).

Несоответствие версии шейдеров требованиям игры или программы приводит к:

  • Вылетам с ошибками типа "Failed to compile shader" или "Unsupported pixel shader version".
  • Артефактам: мерцание текстур, пропадание объектов, "розовый экран".
  • Отказу запуска (например, Unreal Engine 5 требует SM 6.0+).

Пример: игра Alan Wake 2 (2023) использует SM 6.5 для рейтрейсинга. Если ваша видеокарта поддерживает только SM 6.0 (как у GTX 1650), трассировка лучей будет отключена, а качество света и теней ухудшится.

📊 Какую видеокарту вы используете?
NVIDIA (GeForce/RTX)
AMD (Radeon/RX)
Intel (Arc/UHD)
Другая

Способ 1: через стандартное средство Windows — DXDiag

Самый быстрый метод, не требующий установки сторонних программ. DXDiag (DirectX Diagnostic Tool) показывает версию DirectX, но косвенно позволяет определить и Shader Model.

  1. Нажмите Win + R, введите dxdiag и нажмите Enter.
  2. Перейдите на вкладку "Экран" (Display).
  3. Обратите внимание на поля:
    • "Устройство" — модель видеокарты (например, NVIDIA GeForce RTX 3060).
    • "Версия драйвера" — должна быть актуальной (см. раздел про обновление драйверов).
    • "Функции DirectX" — здесь указаны поддерживаемые версии DirectX (например, DirectX 12).

Далее сверяемся с таблицей соответствия DirectX и Shader Model:

Версия DirectX Shader Model Примеры видеокарт
DirectX 9.0c 2.0–3.0 GeForce FX 5xxx, Radeon 9800
DirectX 10 4.0–4.1 GeForce 8800 GT, Radeon HD 2900
DirectX 11 5.0 GeForce GTX 4xx/5xx, Radeon HD 5xxx/6xxx
DirectX 12 5.1–6.7 RTX 20/30/40, Radeon RX 5000/6000/7000
⚠️ Внимание: DXDiag показывает максимальную версию DirectX, поддерживаемую драйвером, но не гарантирует полную совместимость с всеми функциями. Например, GTX 1050 поддерживает DirectX 12, но только с Shader Model 5.1, а не 6.x.

Запустить dxdiag через Win+R|Проверить вкладку "Экран"|Сверить версию DirectX с таблицей|Обновить драйвер при необходимости-->

Способ 2: с помощью GPU-Z (точные данные)

GPU-Z — бесплатная утилита, показывающая все технические характеристики видеокарты, включая версию шейдеров. Скачать её можно с официального сайта TechPowerUp (избегайте сторонних источников во избежание вирусов).

  1. Установите и запустите GPU-Z (не требует установки, работает в портативном режиме).
  2. Перейдите на вкладку "Advanced" (Дополнительно).
  3. В разделе "DirectX Support" найдите строки:
    • Pixel Shader — версия пиксельных шейдеров (например, 6.7).
    • Vertex Shader — версия вершинных шейдеров (обычно совпадает с пиксельными).
    • Geometry Shader — поддержка геометрических шейдеров (есть с SM 4.0).

Пример для RTX 4090:


DirectX Support: 12 Ultimate

Pixel Shader: 6.7

Vertex Shader: 6.7

Geometry Shader: Yes

GPU-Z показывает точную версию шейдеров даже для интегрированной графики Intel (например, Iris Xe с SM 6.4). Это критично для ноутбуков, где производитель часто не указывает детали в спецификациях.

⚠️ Внимание: Если в GPU-Z отображается DirectX Support: 12_1, но Shader Model ниже 6.0, ваша видеокарта не поддерживает функции DirectX 12 Ultimate (например, рейтрейсинг на аппаратном уровне).

Способ 3: через OpenGL (для Linux и macOS)

Если вы используете Linux или macOS, стандартные инструменты вроде DXDiag недоступны. Вместо этого можно воспользоваться утилитами для проверки OpenGL, которая также связана с версией шейдеров.

Для Linux:

  1. Откройте терминал (Ctrl+Alt+T).
  2. Введите команду:
    glxinfo | grep "OpenGL"
  3. Найдите строки:
    • OpenGL version — версия OpenGL (например, 4.6).
    • GLSL version — версия шейдерного языка (4.60 соответствует SM 5.0+).

Для macOS:

  1. Откройте "Системную информацию" (нажмите на логотип Apple → "Об этом Mac" → "Системный отчёт").
  2. Перейдите в раздел "Графика/Дисплеи".
  3. Проверьте поле "Версия OpenGL".

Сопоставление версий OpenGL и Shader Model:

OpenGL GLSL Примерный Shader Model
3.3 3.30 4.0–4.1
4.5 4.50 5.0
4.6 4.60 5.1–6.0
⚠️ Внимание: На macOS с чипами Apple Silicon (M1/M2) OpenGL эмулируется через Metal, поэтому данные могут быть неточными. Для точной информации используйте Metal System Report.

Способ 4: через тесты производительности (Unigine, 3DMark)

Бенчмарки не только проверяют FPS, но и отображают детальную информацию о видеокарте, включая Shader Model. Подходящие инструменты:

  • 🔹 Unigine Heaven/Valley — показывает версию OpenGL/DirectX и шейдеров в логах.
  • 🔹 3DMark (платно) — в разделе "System Info" есть данные о Feature Level (аналог Shader Model).
  • 🔹 FurMark — во вкладке "GPU-Z" дублирует данные из одноимённой утилиты.

Пример из Unigine Heaven:


[API]: Direct3D11

[Shader Model]: 5.0 (5_0)

[GPU]: NVIDIA GeForce GTX 1060

Если бенчмарк отказывается запускаться с ошибкой шейдеров, это прямой признак несовместимости. Например, 3DMark Time Spy требует SM 5.0+, а Port Royal (с рейтрейсингом) — SM 6.0+.

Что делать, если бенчмарк не запускается?

Если тест выдаёт ошибку "Unsupported shader model", попробуйте:

1. Обновить драйвер видеокарты.

2. Запустить бенчмарк в режиме совместимости (например, DirectX 11 вместо DX12).

3. Проверить видеокарту на перегрев — артефакты могут блокировать компиляцию шейдеров.

Способ 5: через реестр Windows (для опытных пользователей)

В реестре Windows хранится информация о поддерживаемых графических функциях, включая Shader Model. Этот метод подходит, если другие способы не сработали.

  1. Нажмите Win + R, введите regedit и подтвердите.
  2. Перейдите по пути:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX
  3. Найдите параметр "Version" — он покажет версию DirectX, установленную в системе.
  4. Для детальной информации о шейдерах перейдите в:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration

    Здесь в подпапках с идентификаторами GPU могут храниться данные о Feature Levels (аналог Shader Model).

  5. Пример значения Feature Level:

    • 0xC100SM 5.0 (DirectX 11).
    • 0xC000SM 6.0+ (DirectX 12).
    ⚠️ Внимание: Неправильное изменение реестра может привести к сбоям системы. Не редактируйте параметры, если не уверены в их назначении. Для безопасности создайте точку восстановления перед работой.

    Как обновить Shader Model (если это возможно)

    Версия шейдеров жестко привязана к архитектуре GPU и не обновляется через драйверы. Однако есть нюансы:

    • 🔄 Драйверы: Установка последней версии драйвера от NVIDIA/AMD/Intel может "разблокировать" скрытые функции (например, RTX 2060 получила поддержку SM 6.5 после обновления драйвера в 2021 году).
    • 🖥️ Эмуляция: Некоторые программы (например, DXVK для Linux) переводят вызовы DirectX в Vulkan, обходя ограничения шейдеров. Но это не добавляет аппаратной поддержки.
    • ⚠️ Модифицированные драйверы: Существуют "моды" для старых видеокарт (например, GTX 750 Ti с патчем для DX12), но они нестабильны и могут привести к артефактам или повреждению GPU.

    Пример: видеокарта GTX 1050 физически поддерживает только SM 5.1, но после обновления драйвера до версии 531.41+ может эмулировать некоторые функции SM 6.0 (без аппаратного ускорения рейтрейсинга).

    Таблица совместимости видеокарт и Shader Model

    Для быстрой проверки используйте таблицу ниже. Если вашей модели нет в списке, сверьтесь с официальными спецификациями на сайтах:

Производитель Серия видеокарт Shader Model Поддержка рейтрейсинга
NVIDIA GeForce FX (5xxx) 2.0–3.0 ❌ Нет
NVIDIA GTX 9xx/10xx 5.1 ❌ Нет (кроме GTX 10xx с драйвером 461.40+)
NVIDIA RTX 20/30/40 6.5–6.7 ✅ Да (аппаратный)
AMD Radeon HD 7xxx 5.0 ❌ Нет
AMD Radeon RX 6000/7000 6.5–6.7 ✅ Да
Intel UHD Graphics (11-го поколения) 6.4 ⚠️ Частично (программный)
⚠️ Внимание: Данные в таблице актуальны для последних версий драйверов. Производители могут добавлять поддержку новых функций для старых GPU (например, AMD внедрила FSR 3 для карт RX 5000 через обновление).

FAQ: Частые вопросы о Shader Model

Можно ли обновить Shader Model на старой видеокарте?

Нет, Shader Model определяется аппаратной архитектурой GPU. Однако новые драйверы могут улучшать совместимость с современными API (например, GTX 1060 получила поддержку DX12 Ultimate без аппаратного рейтрейсинга).

Почему игра требует Shader Model 6.0, а у меня 5.1?

Это означает, что ваша видеокарта не поддерживает функции, необходимые для игры (например, рейтрейсинг или меш-шейдеры). Решения:

  • Играть с отключёнными эффектами (если есть настройка).
  • Обновить видеокарту (например, с GTX 1650 на RTX 3050).
  • Использовать эмуляторы вроде DXVK (для Linux).
Как проверить Shader Model на ноутбуке с двумя видеокартами?

Если у вас интегрированная + дискретная графика (например, Intel UHD + NVIDIA MX150), используйте:

  1. GPU-Z — выберите нужный GPU в выпадающем меню.
  2. NVIDIA Control Panel → "Управление параметрами 3D" → проверьте, какая карта используется по умолчанию.
  3. Для игр важна дискретная видеокарта — её Shader Model и учитывайте.

Влияет ли Shader Model на производительность?

Прямо — нет, но косвенно — да. Новые версии шейдеров (SM 6.x) оптимизированы для современных API (DirectX 12, Vulkan), что может давать прирост FPS в поддерживаемых играх. Например, RTX 3060 с SM 6.7 в Cyberpunk 2077 покажет лучшую производительность, чем GTX 1080 Ti с SM 5.1, даже при схожей мощности.

Где посмотреть требования к Shader Model для игры?

Официальные требования указываются на страницах игр в Steam, Epic Games или на сайте разработчика. Ищите разделы:

  • "Системные требования" → "Видеокарта".
  • "Технические характеристики" → "Поддержка DirectX".
  • Пример для Star Citizen:

    Минимальные: DirectX 11, Shader Model 5.0
    

    Рекомендуемые: DirectX 12, Shader Model 6.0