Как узнать, какая видеокарта (nvdia или amd) используется в DirectX
Мне нужно знать, как узнать, какой тип видеокарты используется в DirectX, потому что некоторые функции в моей программе не поддерживаются в видеокарте AMD и вызывают сбой.
Итак, мне нужно узнать, какую карту использует компьютер (на некоторых компьютерах может быть несколько видеокарт).
1 ответ
Поэтому, прежде чем выбросить ATI/AMD под шину, убедитесь, что проблема не связана с вашим приложением. Для Direct3D 10/11 обязательно включите отладочное устройство и убедитесь, что у вас нет КОРРУПЦИИ или ОШИБКИ, и посмотрите все ПРЕДУПРЕЖДЕНИЯ.
Далее, посмотрите, есть ли более новый драйвер, доступный для случая воспроизведения. Если есть, то просто скажите своим пользователям обновить их драйверы. Если нет, и это кажется законным сбоем в драйвере, то сообщите об этом как об ошибке ATI/AMD (или NVidia или Intel в зависимости от обстоятельств).
Протестируйте свое приложение на нескольких комбинациях видеокарт / драйверов от каждого поставщика. Для инди это может быть непросто, но важно убедиться, что ваше приложение работает на широком наборе оборудования. Для Direct3D 11 вам нужно попробовать различные аппаратные устройства уровня Direct3D, чтобы обеспечить хороший охват.
В реальных играх есть некоторые дополнительные предупреждения, связанные с обнаружением определенных аппаратных идентификаторов при работе с широко распространенными ошибками драйверов и неофициальными расширениями, специфичными для поставщиков). Здесь приведен пример такого обнаружения на основе комбинации vendorid/deviceid в DXGI_ADAPTER_DESC
или же D3DADAPTER_IDENTIFIER9
, Блокировка всех карт от конкретного продавца - это излишне, и, вероятно, просто раздражает ваших клиентов.