Версия шейдеров (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), трассировка лучей будет отключена, а качество света и теней ухудшится.
Способ 1: через стандартное средство Windows — DXDiag
Самый быстрый метод, не требующий установки сторонних программ. DXDiag (DirectX Diagnostic Tool) показывает версию DirectX, но косвенно позволяет определить и Shader Model.
- Нажмите
Win + R, введитеdxdiagи нажмитеEnter. - Перейдите на вкладку "Экран" (Display).
- Обратите внимание на поля:
- "Устройство" — модель видеокарты (например, 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 (избегайте сторонних источников во избежание вирусов).
- Установите и запустите GPU-Z (не требует установки, работает в портативном режиме).
- Перейдите на вкладку "Advanced" (Дополнительно).
- В разделе "DirectX Support" найдите строки:
- Pixel Shader — версия пиксельных шейдеров (например,
6.7). - Vertex Shader — версия вершинных шейдеров (обычно совпадает с пиксельными).
- Geometry Shader — поддержка геометрических шейдеров (есть с SM 4.0).
- Pixel Shader — версия пиксельных шейдеров (например,
Пример для 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:
- Откройте терминал (
Ctrl+Alt+T). - Введите команду:
glxinfo | grep "OpenGL" - Найдите строки:
- OpenGL version — версия OpenGL (например,
4.6). - GLSL version — версия шейдерного языка (
4.60соответствует SM 5.0+).
- OpenGL version — версия OpenGL (например,
Для macOS:
- Откройте "Системную информацию" (нажмите на логотип Apple → "Об этом Mac" → "Системный отчёт").
- Перейдите в раздел "Графика/Дисплеи".
- Проверьте поле "Версия 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. Этот метод подходит, если другие способы не сработали.
- Нажмите
Win + R, введитеregeditи подтвердите. - Перейдите по пути:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX - Найдите параметр "Version" — он покажет версию DirectX, установленную в системе.
- Для детальной информации о шейдерах перейдите в:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\ConfigurationЗдесь в подпапках с идентификаторами GPU могут храниться данные о Feature Levels (аналог Shader Model).
0xC100— SM 5.0 (DirectX 11).0xC000— SM 6.0+ (DirectX 12).- 🔄 Драйверы: Установка последней версии драйвера от NVIDIA/AMD/Intel может "разблокировать" скрытые функции (например, RTX 2060 получила поддержку SM 6.5 после обновления драйвера в 2021 году).
- 🖥️ Эмуляция: Некоторые программы (например, DXVK для Linux) переводят вызовы DirectX в Vulkan, обходя ограничения шейдеров. Но это не добавляет аппаратной поддержки.
- ⚠️ Модифицированные драйверы: Существуют "моды" для старых видеокарт (например, GTX 750 Ti с патчем для DX12), но они нестабильны и могут привести к артефактам или повреждению GPU.
- NVIDIA: страница драйверов.
- AMD: центр поддержки.
- Intel: инструмент определения драйверов.
Пример значения Feature Level:
⚠️ Внимание: Неправильное изменение реестра может привести к сбоям системы. Не редактируйте параметры, если не уверены в их назначении. Для безопасности создайте точку восстановления перед работой.
Как обновить Shader Model (если это возможно)
Версия шейдеров жестко привязана к архитектуре 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), используйте:
- GPU-Z — выберите нужный GPU в выпадающем меню.
- NVIDIA Control Panel → "Управление параметрами 3D" → проверьте, какая карта используется по умолчанию.
Для игр важна дискретная видеокарта — её 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