Шейдерная модель 3, поддерживаемая видеокартами

Обновлено: 21.11.2024

Я только что купил первобытную бойню для своего сына и не могу запустить ее, каждый раз, когда я нажимаю кнопку воспроизведения, я получаю всплывающее окно с надписью. ваша видеокарта должна поддерживать как минимум модель шейдеров 3. Теперь программа установки выйдет, кто-нибудь знает, как решить проблему?

СПАСИБО ВСЕМ, КТО МНЕ НАПИСАЛ, ВЫ БЫЛИ ОЧЕНЬ ПОЛЕЗНЫ,
ОТЛИЧНОЕ СООБЩЕСТВО,


Похоже, чтобы исправить это, вам нужна видеокарта, поддерживающая шейдерную модель 3. Вам нужно указать карту!


Похоже, чтобы исправить это, вам нужна видеокарта, поддерживающая шейдерную модель 3. Вам нужно указать карту! спасибо за ответ, и я могу купить это в любом игровом магазине?

запустите dxdiag (удерживайте клавишу Windows и нажмите r, введите dxdiag и затем нажмите Enter), и в верхней части второй вкладки должно быть указано, какой у вас графический процессор (видеокарта).

запустите dxdiag (удерживайте клавишу Windows и нажмите r, введите dxdiag и затем нажмите Enter), и в верхней части второй вкладки должно быть указано, какой у вас графический процессор.

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

Есть ли у вас друзья, знакомые с компьютерами?

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

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

Есть ли у вас друзья, знакомые с компьютерами?

Джейд и Алдарон, вы читаете мои мысли, да и да. ну на самом деле нет, я ничего не знаю о компьютерах, и да, у меня есть друг, который знает, и он может заменить видеокарту и ... да, это предварительно собранный компьютер, вы, ребята, все были так полезны, я так благодарен, что замечательно сообщество, спасибо всем вам

Может даже не потребоваться замена оборудования. Если люди просто получат какую-то случайную систему и никогда не будут использовать ее для таких вещей, как игры, у них могут быть только базовые драйверы. Так что *возможно* аппаратное обеспечение может это сделать, но драйверы не отображают его должным образом.

«Шейдерная модель 3» — это вещь Direct3D 9 (возможно, позже DX9, не уверен насчет точной истории вещей). DirectX 9 существует очень-очень давно.

В настоящее время я работаю над приложением для 3D-визуализации. Требованием моего приложения является то, что видеокарта хоста поддерживает Shader Model 3. Как я могу проверить поддержку Shader Model 3?

Я знаю, что эти версии должны поддерживать следующие модели:

  • DirectX 8.0 – модель шейдеров 1.0 и 1.1
  • DirectX 8.0a – модель шейдеров 1.3
  • DirectX 8.1 — модель шейдеров 1.4
  • DirectX 9.0 – модель шейдеров 2.0
  • DirectX 9.0a — модель шейдеров 2.0a
  • DirectX 9.0b — модель шейдеров 2.0b
  • DirectX 9.0c — модель шейдеров 3.0
  • DirectX 10.0* — модель шейдеров 4.0
  • DirectX 10.1* — модель шейдеров 4.1
  • DirectX 11.0* — модель шейдеров 5.0

Но некоторые графические аппаратные средства не поддерживают Shader Model 3.0 даже при правильной версии DirectX. Поэтому я хочу определить это, проверив оборудование, а не только версию DirectX.

2 ответа 2

Вам необходимо проверить возможности графического процессора с помощью D3DCAPS (проверьте документацию DirectX SDK, если вы этого не знаете). Вы можете не только определить модель шейдера, но и проверить наличие конкретных поддерживаемых возможностей.

Для одноразовой проверки (не поможет вам во время выполнения) вы можете использовать GPU-Z.

\$\begingroup\$ Спасибо за информацию, я скачал его и могу получить информацию с помощью командной строки gpu-z.exe -dump gpuz.xml , но я не знал, насколько этот инструмент надежен !? \$\конечная группа\$

Если вы используете D3D9, вы можете запросить возможности устройства, сообщаемые вашей картой, с помощью метода IDirect3D9::GetDeviceCaps. Это даст вам структуру, содержащую много интересной информации о том, что поддерживает аппаратное обеспечение. В связи с этой проблемой для вас будут интересны поля в результирующей структуре с именами VertexShaderVersion и PixelShaderVersion, а также, возможно, MaxVertexShader30InstructionSlots и MaxPixelShader30InstructionSlots. Все четыре описаны на связанной странице документации.

Для D3D10 вы должны гарантировать SM4. Для D3D11 (которого я бы рекомендовал больше 10, так как должно быть так, что вы можете использовать 11, если вы можете использовать 10) возможности устройства классифицируются по уровням функций.Если вы используете уровень функций 10_0 или выше, вам должен гарантированно предоставляться SM4. Ниже уровня 10_0 у вас есть некоторые нечетные различия 10Level9, которые необходимо учитывать — в результате вы должны использовать нечетные обозначения моделей шейдеров, такие как vs_4_0_level_9_1 в некоторых (возможно, во всех, мы вступаем на территорию, которую я не исследовал). на практике) сценариев.

Вы заметите, что я сказал "должна быть гарантирована" в нескольких местах. Это связано с тем, что, как вы упомянули, карты могут лгать или могут быть ошибки драйверов, которые эффективно делают определенные комбинации оборудования/драйвера «нефункциональными» (или, по крайней мере, сломанными способом, который вы хотели бы обойти) . В наши дни это гораздо реже, чем раньше, но в таких случаях вы все равно не можете полностью доверять оборудованию или драйверу, и вам придется «сделать это самостоятельно». Один из способов сделать это — просто попытаться создать что-то с помощью SM3 и посмотреть, не получится ли это. хотя это не устранит все ошибки/сбои.

Что я сделал для учета такого рода проблем в прошлом, так это создал локально поддерживаемую API-интерфейс "базы данных функций", который позволяет мне хранить информацию о конкретных сбоях карты/драйвера и о том, как вернуться к безопасному альтернативному коду. пути, когда эта комбинация аппаратного обеспечения/драйвера присутствует на машине конечного пользователя. Заполнение этой базы данных обычно требует проб и ошибок и множества различных конфигураций оборудования, поэтому, к сожалению, разработчику-одиночке это может быть сложно сделать.

Графическое оборудование, которое в конечном итоге отображает сцену, управляется специализированными графическими программами, называемыми шейдерами. Возможности оборудования со временем улучшались поэтапно, и общий набор функций, которые вводились на каждом этапе, известен как шейдерная модель. В модели Progressive Shader добавлена ​​поддержка более длинных программ Shader, более мощных инструкций ветвления и других функций, и эти улучшения позволили параллельно улучшить графику игр.

Unity поддерживает эмуляцию двух моделей шейдеров: модели шейдера 2 и модели шейдера 3. Графические карты, реализующие каждую модель, перечислены ниже.

Шейдерная модель 2

  • Карты NVIDIA с 2003 года (GeForce FX)
  • Карты AMD с 2004 года (Radeon 9500)
  • Карты Intel с 2005 года (GMA 900)
  • Все мобильные
  • Все консоли

Шейдерная модель 3

  • Карты NVIDIA с 2004 года (GeForce 6)
  • Карты AMD с 2005 года (Radeon X1300)
  • Карты Intel с 2006 года (GMA X3000)
  • Все мобильные
  • Все консоли

Кроме того, для некоторых графических эффектов, используемых в Unity (например, в Image Effects), могут потребоваться другие графические функции, такие как текстуры глубины или вычислительные шейдеры.

Поддержка текстуры глубины

  • ПК: как правило, все графические процессоры, выпущенные с 2006 года.
  • Мобильные устройства: OpenGL ES 3 и Metal поддерживают текстуры глубины. При использовании OpenGL ES 2 текстуры глубины могут поддерживаться или не поддерживаться в зависимости от конкретной версии графического процессора/ОС.
  • Консоли: все консоли поддерживают текстуры глубины.

Поддержка вычислительных шейдеров

  • Windows: при использовании DX11 или DX12, а графический процессор поддерживает набор функций DX11. Как правило, все графические процессоры, выпущенные с 2010 года, поддерживают его.
  • Mac: вычислительные шейдеры не поддерживаются.
  • Linux: поддерживается при использовании OpenGL Core 4.3 или более поздней версии (требуется поддержка ОС и графического процессора).
  • Мобильные устройства: поддерживается при использовании OpenGL ES 3.1/3.2 на Android.
  • Консоли: PS4 и Xbox One поддерживают вычислительные шейдеры.

Эмуляция модели шейдера

Unity позволяет визуализировать вашу игру, используя более низкую модель шейдера, чем лучшую, которую предлагает ваша видеокарта. Это полезно во время разработки, чтобы увидеть, как графика будет выглядеть на старой машине.

Чтобы выбрать уровень эмуляции графики, выберите в меню Правка > Эмуляция графики. Обратите внимание, что доступные параметры меняются в зависимости от платформы, на которую вы сейчас ориентируетесь в настройках сборки. Для настольных компьютеров Shader Model 2 и Shader Model 3 будут отображаться в качестве параметров эмуляции, а на мобильных устройствах можно будет выбрать только OpenGL ES 2.0. Вы можете восстановить все возможности вашего оборудования, выбрав «Без эмуляции». Если ваш компьютер для разработки не поддерживает определенную модель шейдера, она будет скрыта в меню эмуляции графики.

Хотя эмуляция — это быстрый способ проверить графические возможности, вам все же следует протестировать игру на реальном оборудовании. Это покажет реальную производительность и любые особенности конкретной видеокарты, операционной системы или версии драйвера.

Модели шейдеров DirectX привязаны к определенным версиям DirectX

Бывший автор Lifewire Майкл Клаппенбах — ИТ-специалист и эксперт по играм и игровому оборудованию.

Джонатан Фишер – сертифицированный технолог CompTIA. Он имеет более чем 6-летний опыт написания статей для таких изданий, как TechNorms и Help Desk Geek.

Microsoft DirectX — это набор API-интерфейсов для программирования видеоигр в операционных системах Microsoft — Windows и Xbox. Представленный в 1995 году, вскоре после выпуска Windows 95, он с тех пор входит в состав всех версий Windows, начиная с Windows 98.

С выпуском DirectX 12 в 2015 году Microsoft представила несколько новых функций программирования, таких как низкоуровневые API, которые позволяют разработчикам лучше контролировать, какие команды отправляются графическому процессору.

Начиная с выпуска DirectX 8.0, видеокарты использовали инструкции, называемые Shader Models, для интерпретации инструкций по рендерингу графики, отправляемых от ЦП к видеокарте. Однако эти версии шейдеров привязаны к версии DirectX, установленной на вашем компьютере, которая, в свою очередь, привязана к вашей видеокарте.

Как определить версию DirectX

Простая диагностическая утилита показывает версию DirectX.

Нажмите Win+R и в поле введите dxdiag, затем нажмите Enter на клавиатуре, чтобы запустить команду.

На вкладке "Система" под заголовком "Информация о системе" инструмент возвращает текущую версию DirectX.

Совместите версию DirectX с версией шейдера, указанной ниже.

После того, как вы определили версию DirectX, работающую на вашем ПК, вы можете использовать приведенную ниже таблицу, чтобы определить, какая версия шейдерной модели поддерживается.

Версии моделей DirectX и Shader

Средство диагностики не использует версию модели шейдера. Ваша версия DirectX определяет версию модели шейдера следующим образом:

  • DirectX 8.0 – модель шейдеров 1.0 и 1.1
  • DirectX 8.0a – модель шейдеров 1.3
  • DirectX 8.1 — модель шейдеров 1.4
  • DirectX 9.0 – модель шейдеров 2.0
  • DirectX 9.0a — модель шейдеров 2.0a
  • DirectX 9.0b — модель шейдеров 2.0b
  • DirectX 9.0c — модель шейдеров 3.0
  • DirectX 10.0* — модель шейдеров 4.0
  • DirectX 10.1* — модель шейдеров 4.1
  • DirectX 11.0† — модель шейдеров 5.0
  • DirectX 11.1† – модель шейдеров 5.0
  • DirectX 11.2 ‡ — модель шейдеров 5.0
  • DirectX 12** — модель шейдеров 5.1

Поддержка моделей шейдеров началась с DirectX 8.0. Windows XP не поддерживает DirectX 10.0 и выше, а Windows Vista и Windows 7 (до Service Pack 1) не поддерживают DirectX 11.0 или выше. ОДНАКО Vista поддерживает DirextX 11.0 после обновления платформы. Windows 7 SP1 поддерживает версию 11.1, но не 11.2 или новее. Вы можете узнать больше в нашем руководстве по загрузке и установке DirectX.

DirectX 12 доступен только для Windows 10 и Xbox One.

Какие игры поддерживают DirectX 12?

Большинство компьютерных игр, разработанных до выпуска DirectX 12, скорее всего, были разработаны с использованием более ранней версии DirectX. Эти игры совместимы на ПК с установленным DirectX 12 из-за их обратной совместимости.

Если случайно ваша игра несовместима с новой версией DirectX — в основном это игры, работающие на DirectX 9 или более ранней версии, — Microsoft предоставляет среду выполнения DirectX для конечного пользователя, которая исправляет многие ошибки времени выполнения с DLL, установленными из более старых версий DirectX.< /p>

Как установить последнюю версию DirectX?

Установка последней версии DirectX необходима только в том случае, если вы пытаетесь играть в игру, разработанную с использованием этой последней версии. Microsoft предлагает обновления через стандартный Центр обновления Windows, а также загрузку и установку вручную. Однако после выпуска DirectX 11.2 для Windows 8.1 DirectX 11.2 больше не доступен для отдельной загрузки, и его необходимо загружать через Центр обновления Windows.

Помимо Центра обновления Windows, большинство игр проверяют вашу систему при установке, чтобы убедиться, что вы соответствуете требованиям DirectX. Если вы этого не сделаете, вам будет предложено загрузить и установить его перед установкой игры.

Читайте также: