Без актуальной версии ДиректХ не будут работать современные игры и некоторые другие программы. Если соответствующего компонента нет в системе, то будут возникать разного рода ошибки. Нередко пользователи задаются вопросом: «Когда появляется сообщение “DirectX device creation error” — что делать?». Мы дадим на него развернутый и проверенный ответ.
Решение проблемы
Подобный сбой, увы, не является редким. В тексте ошибки, как правило, упоминается, что текущая конфигурация компьютера не поддерживается.Там же пишется нужная для корректной работы приложения версия DirectX. Но это далеко не всегда значит, что «железо» ПК придется обновлять. Есть несколько важных нюансов:
- Если необходим ДиректХ 12, а у вас не Windows 10, то нужно установить именно эту версию ОС, поскольку только в ней поддерживается соответствующая библиотека.
- Иногда компоненты просто отсутствуют в системе, хоть и поддерживается текущей конфигурацией.
Именно второй случай заслуживает дальнейшего рассмотрения. Вам нужно выяснить модель видеокарты и версию Виндовс, чтобы узнать информацию о совместимости. Узнать ОС можно, открыв «Мой компьютер», кликнув ПКМ на свободную область и выбрав «Свойства». Здесь и отобразятся нужные сведения.
Рекомендуем! InstallPack | Стандартный установщик |
Официальный дистрибутив DirectX | Тихая установка без диалоговых окон | Рекомендации по установке необходимых программ | Пакетная установка нескольких программ |
---|
DirectX-for-pc.ru рекомендует InstallPack, с его помощью вы сможете быстро установить программы на компьютер, подробнее на сайте.
Чтобы определить модель графического устройства, из открытого окна перейдите в «Диспетчер устройств» и раскройте вкладку «Видеоадаптеры».Далее, перейдите на сайт производителя и узнайте подробности о ней.
Про ОС стоит учитывать следующие факторы:
- DirectX 12 доступно только для «десятки».
- Одиннадцатая версия библиотеки совместима с Вистой и более поздними ОС от Microsoft.
- Десятая и младшие — на всех Windows.
Завершение
Если вы удостоверились, что ошибка DirectX device creation error, некорректна, то остается только загрузить нужную версию библиотеки с нашего сайта:
Многие игроки по всему миру с нетерпением ждут релиз каждой игры серии Battlefield. 6 мая 2016 года DICE анонсировала очередную часть во франшизе под названием Battlefield 1. Интересной особенностью этого проекта является то, что события игры разворачиваются во время Первой Мировой Войны. Эта тема достаточно серьезно подогрела интерес всех любителей милитаристических шутеров.
Судя по реакциям игроков от бета тестов, то игра получилась на славу, что еще больше распалила желание поиграть в Battlefield 1. И вот сегодня, 21 октября, она добралась до релиза. Однако многих игроков встретила неожиданность. При их попытке входа в игру или во время самого геймплея они встретили ошибку DirectX Function в Battlefield 1
Давайте же посмотрим на возможные методы решения этой проблемы.
Решаем ошибку DirectX Function в Battlefield 1
Метод №1 Отключение оверлея Origin
- Нажмите на кнопку «Origin» в верхнем левом углу экрана и перейдите в «Настройки приложения».
- Далее идите во вкладку «Дополнительно» -> «Внутриигровой экран Origin».
- Выставьте плажку на «OFF»
Метод №2 Отключение DX12 в игровом меню
- Нажмите ESC.
- Пройдите в «Опции» — «Видео»
- Нажмите на «Расширенные»
- Выключите параметр «DirectX 12».
Метод №3 Обновление драйверов
Просто загрузите и обновите драйвера для вашей видеокарты. К этому моменту должны были выйти драйвера специально «подогнанные» к игре. Вероятней всего они и решат ошибку DirectX Function в Battlefield 1.
Метод №4 Починка Microsoft Visual C++ 2012/2013
- Пройдите в директорию C:Program Files (x86)Origin GamesBattlefield 1\__Installervc
- Внутри этой директории вы должны найти папки vc2012Update3 и vc2013
- Запустите Microsoft Visual C++2012 и 2013 и выберите опцию «Починку».
Метод №5 Обновление Windows 10
Появились спекуляции на счет того, что ошибка DirectX Function в Battlefield 1 может являться причиной отсутствием некоторых обновлений для Windows 10. Найдите на официальном сайте Microsoft обновления для Windows 10 версии 1511/1607 и установите их.
Метод №6 Изменений настроек в Панели управления Nvidia
Откройте Панель управления Nvidia и зайдите в «Управление параметрами 3D». Выставьте следующие настройки:
- Режим управления электропитания — Предпочтителен режим максимальной производительности».
- Потоковая оптимизация — Выкл.
- Тройная буферизация — Выкл.
- Вертикальный синхроимпульс — Выкл.
- Максимальное количество заранее подготовленных кадров — 3.
so long I follow a tutorial that CreateTexture2D() with NULL initial data, then using UpdateSubresource() to load data,every thing works fine. But UpdateSubResource() is a device context function, so I try to use CreateTexture2D() with initial data in one shot,but it fail.
below code show the original that works fine.
then I change it to
then it generate the error
it said some parameter is invalid but I don’t see why the argument i passed is invalid
UPDATE:
so I try to follow the links to setup debug device for DirectX . Here’s what I got:
so it said that the Create function try to access the InitialData as an array while I only has one element as pass as argument. One thing to notice is that I only get the debug output in release config(I manually define _DEBUG in the code). In Debug config, I get access violation exception trigger so I don’t get the D3D Debug Message.
so I get a way to work around it is get an array of subresource big enough to to store all kind of mipmap level to prevent access violation.
but I think it’s unwise since I still need generate mipmap and this function is in device context