
Один из типичных вопросов
Здравствуйте.
У меня в Windows 10 при запуске некоторых игр появляется ошибка «Direct3D initialization error». Windows шла вместе с ноутбуком, версия «Домашняя для одного языка».
Скажите, может ли эта ошибка быть из-за версии Windows, и как ее исправить?
Доброго дня!
Вообще, подобная ошибка не редкость, особенно после переустановки Windows (в вашем случае, после покупки ноутбука, так как в магазинах редко устанавливаются все необходимые библиотеки и драйвера, необходимые для комфортной работы устройства).
Появляется она, как правило, после попытки запустить какую-нибудь игру — либо сразу, либо в игре будет просто черный экран, а свернув ее вы увидите это окно.
В этой статье остановлюсь на основных причинах появления подобной ошибки, и покажу на примере как от нее избавиться…

Типичный вид ошибки
Содержание статьи
- 1 Что делать с ошибкой Direct3D
- 1.1 Обновление DirectX
- 1.2 Проблема с драйвером видеокарты
- 1.3 Используйте режим совместимости

→ Задать вопрос | дополнить
Что делать с ошибкой Direct3D
Обновление DirectX
Самая частая причина появления подобной ошибки связана с отсутствием библиотеки👉 DirectX. Причем, не обязательно, что она у вас не установлена, возможно у вас просто нет какого-то конкретного файла из библиотеки.
*
DirectX — специальная библиотека для программистов. Используется в большинстве случаев при разработке игр. Пакет доступен для установки и обновления на официальном сайте Microsoft. Более подробно от этом можете узнать на сайте Википедии.
👉 Несколько способов обновить DirectX — см. инструкцию
*
Поэтому, рекомендую посмотреть требования запускаемой вами игры, и посмотреть, какая версия DirectX установлена у вас на ПК.
Чтобы узнать, какой DirectX у вас на ПК, нажмите:
- сочетание кнопок Win+R, чтобы открылось окно «Выполнить«;
- далее впишите команду dxdiag и нажмите Enter (см. скриншот ниже).

Запускаем средство диагностики DirectX (DxDiag)
Далее во вкладке «Система» будут представлены все необходимые данные: версия вашей ОС Windows, ваша видеокарта, звуковое устройства, версия BIOS, и версия DirectX (см. на красный квадрат на скрине ниже).

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

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

Установка DirectX завершена
Как правило, после такого обновления, игра начинает работать как нужно.
👉 ДОПОЛНЕНИЕ!
Если у вас нет интернета (либо он медленный или сайт Microsoft недоступен, выдает ошибку и т.д.), DirectX можно обновить с помощью игр: почти на половине дисков с играми есть новая версия DirectX (прим.: новая на момент запуска игры, конечно). Поэтому, вам достаточно взять более-менее современную игру и установив ее, обновите DirectX.
*
Проблема с драйвером видеокарты
Если ошибка все так же появляется, возможно ваша видеокарта отключена в диспетчере устройств (такое может быть, например, у ноутбуков с 2-мя видеокартами), либо у вас просто не обновлены/не установлены драйвера на видеокарту.
Как проверить наличие драйверов и включена ли видеокарта
Самый простой способ, воспользоваться диспетчером устройств. Чтобы его открыть:
- нажмите кнопки Win+R;
- далее введите devmgmt.msc и нажмите Enter.

Запуск диспетчера устройств — devmgmt.msc
Далее откройте вкладку «Видеоадаптеры», и посмотрите, все ли видеокарты включены, и не горит ли напротив них желтый восклицательный знак (указывающий на проблемы с драйверами, пример —
).
Ниже на скриншоте показано, что один видеоадаптер отключен и не задействован. Часто ошибка с Direct3D связана как раз с этим.

Intel HD включена, NVIDIA выключена
Чтобы включить адаптер, просто щелкните по нему правой кнопкой мышки и выберите функцию «Задействовать». Пример на скрине ниже.

Задействовать видеокарту
После этого перезагрузите компьютер, затем попробуйте открыть игру.
👉 ДОПОЛНЕНИЕ!
В некоторых случаях одна из видеокарт может быть отключена в BIOS компьютера (например, если у вас на ноутбуке стоит дискретная и встроенная видеокарты). Чтобы проверить так ли это, зайдите в BIOS, обычно, в разделе MAIN можно найти режим работы графики (Graphic mode). Пример показан на фото ниже.
👉 Как зайти в BIOS — см. инструкцию
👉 Кнопки для входа в BIOS для разных производителей ноутбуков/ПК — см. инструкцию
Как обновить драйвера на видеокарту:
- Способ №1: зайти на официальный сайт производителя вашего ноутбука и скачать их оттуда. Если не знаете точную модель ноутбука, воспользуйтесь программами для определения характеристик компьютера;
- Способ №2: воспользоваться специальными программами для автоматического поиска и обновления драйверов. Самый простой и быстрый вариант, на самом деле. К тому же, программы проверят необходимые библиотеки для игр (например, Drive Booster, рекомендую);
- Способ №3: работать в ручном режиме, через диспетчер устройств. Более подробно об этом см. здесь.
*
Используйте режим совместимости
Не так давно я тестировал ноутбук с относительно новым процессором AMD Ryzen 5 2500U и столкнулся с одной интересной особенностью…
Обновил DirectX, установил все необходимые драйвера, различные пакеты и дополнения к играм — однако, часть игр не запускалась, показывая ошибку Direct3D… (особенность: все игры были старыми, что наводило на разные мысли…).
Довольно сильно я был удивлен, когда открыл свойства исполняемого файла игры, перешел во вкладку «Совместимость» и поставил галочку напротив пункта «Запустить игру в режиме совместимости с Windows XP SP 2» — игра стала нормально работать, никаких ошибок, связанных с Direct3D, больше не было…
Примеры, что нужно сделать, приведены на скринах ниже…

Открываем свойства исполняемого файла игры

Запустить игру в режиме совместимости с Windows XP SP 2
👉 Также в помощь!
Как запустить старую игру на новом компьютере — см. способы и примеры
PS
Если ничего не помогло из выше написанного, то также рекомендую еще обновить пакет Microsoft Visual C++ и NET Framework.
На этом все, всем всего доброго!
👣
Первая публикация: 19.03.2017
Статья откорректирована: 17.12.2020
Полезный софт:
-
- Видео-Монтаж
Отличное ПО для создания своих первых видеороликов (все действия идут по шагам!).
Видео сделает даже новичок!
-
- Ускоритель компьютера
Программа для очистки Windows от «мусора» (удаляет временные файлы, ускоряет систему, оптимизирует реестр).
I can not get my head around this.
These examples are working:
# Function with geom_density
gr.den <- function(var.name) {
ggplot(results, aes(get(var.name), fill = name)) +
geom_density(alpha = 0.2) +
geom_vline(xintercept = tv[, var.name], color="red", size=1) +
xlab(var.name)
}
gr.den("sum.Empl")
# Example with geom_point
ggplot(results, aes(sum.All, sum.Empl)) +
geom_point(alpha = 1/5) +
opts(aspect.ratio = 1) +
facet_grid(. ~ name)
Then I am trying to create similar function using geom_point:
gr.sc <- function(var.name.1, var.name.2) {
ggplot(results, aes(get(var.name.1), get(var.name.2))) +
geom_point(alpha = 1/5) +
opts(aspect.ratio = 1) +
facet_grid(. ~ name)
}
gr.sc("sum.All", "sum.Empl")
And I am getting this error. Why?
Error in get(var.name.1) : object 'var.name.1' not found
У меня такой htaccess:
DirectoryIndex index.html
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(?!dist/|api/).*$ dist/$0 [NC,L]
В общем все файлы редиректятся в папку dist, кроме запросов на url api. Проблема в том что когда вводишь в url Допустим localhost/login то пишет object not found. Хотя такая страница есть
@minorua unfortunately, due to this bug I’m not able to run Qgis2threejs properly (the preview doesn’t work). I followed all the instructions.
As you can see, there are no active QGIS 3D views in the project.

When I no open the Qgis2threejs Explorer
I get the following view.

In addition here is the console output (same as in the screenshot above):
undefined (1): ReferenceError: Can't find variable: app three.min.js (44): THREE.WebGLRenderer: WEBGL_depth_texture extension not supported. three.min.js (44): THREE.WebGLRenderer: ANGLE_instanced_arrays extension not supported. three.min.js (959): THREE.WebGLRenderer: .context has been removed. Use .getContext() instead.
And the message (again same as in the screenshot above):
No 3D objects were rendered? There is a compatibility issue with QGIS 3D view. You need to close QGIS 3D view(s) and restart QGIS to use this preview.
Environment:
Intel i5 M520 @ 2.4GHz, 8 GB RAM, Win 7 Pro | 64
| QGIS version | 3.4.15-Madeira | QGIS code revision | e83d02e274 |
|---|---|---|---|
| Compiled against Qt | 5.11.2 | Running against Qt | 5.11.2 |
| Compiled against GDAL/OGR | 2.4.3 | Running against GDAL/OGR | 2.4.3 |
| Compiled against GEOS | 3.8.0-CAPI-1.13.1 | Running against GEOS | 3.8.0-CAPI-1.13.1 |
| PostgreSQL Client Version | 11.5 | SpatiaLite Version | 4.3.0 |
| QWT Version | 6.1.3 | QScintilla2 Version | 2.10.8 |
| Compiled against PROJ | 5.2.0 | Running against PROJ | Rel. 5.2.0, September 15th, 2018 |
| Active python plugins | ORStools; Qgis2threejs; db_manager; processing |
I tried it by starting both «QGIS Desktop» with and without «GRASS».
Another thing: I had installed QGIS 3.10 first then uninstalled it and installed QGIS 3.4 afterwards.
Any advice???
Рост производительности компьютеров – благо, которое многими воспринимается как должное. Но какой бы частотой не обладал центральный процессор или GPU, без соответствующего и, нужно сказать, очень сложного программного обеспечения, добиться высокой скорости работы ресурсоёмких приложений не удастся. Особенно это касается программ работы с видео и компьютерных игр. API-интерфейс Direct3D как раз и является таким промежуточным звеном, позволяющим проявить все достоинства современных видеокарт и процессоров.

Увы, как и любое другое сложное ПО, Direct3D не лишено багов, которые могут проявляться весьма неожиданно. Например, при запуске приложения, использующего этот графический API, могут появляться различные ошибки. Сегодня мы поговорим об одной из них – «Не удалось обнаружить устройство Direct3D».
Основные причины возникновения ошибки в играх
Чаще всего с нею сталкиваются геймеры, ведь именно в компьютерных играх достоинства графического интерфейса прикладного программирования проявляются ярче всего. И если при запуске Dota 2, «Глаза дракона» или «Ведьмака» появляется ошибка «Не удалось обнаружить устройство Direct3D», поиграть не получится.
Критично ли это? Не слишком, если знать причину. А они бывают разными:
- драйвер видеокарты устарел или повреждён;
- установлена версия DirectX, не соответствующая рекомендуемым требованиям;
- игра несовместима с установленной операционной системой;
- сбой настроек видеокарты в BIOS;
- потеря важных файлов, входящих в пакет Steam;
- воздействие вирусов.
Если при запуске игры комп выдаёт ошибку Failed to initialize Direct3D, причины будут примерно одинаковыми, как и способы их устранения. Обычно в результате экран игры становится чёрным, а если окно свернуть, то можно увидеть окно с ошибкой.

Первое, что необходимо сделать – проверить, соответствуют ли характеристики железа системным требованиям конкретной игры. Для примера рассмотрим уже упоминавшуюся Dota 2, для которой требуется CPU с тактовой частотой от 3 ГГц, видеокарта, совместимая с DirectX 9, поддерживающая Shader Model0 ATI X800 с памятью объёмом не менее 256 МБ, 1 ГБ ОЗУ, 10 ГБ свободного пространства на диске и скорость интернета не ниже 1 Мб/сек.
Просмотреть параметры своего ПК и графической подсистемы можно набрав команду dxdiag в консоли «Поиск» или «Выполнить» или через «Диспетчер устройств».
Как исправить ошибку Direct3D
Если с системными требованиями всё в порядке, а геймеры обычно смотрят на это в первую очередь, то следует предпринять несколько шагов, один из которых с высокой вероятностью поможет устранить проблемы Direct3D в играх и других использующих этот API программах.
Обновление DirectX
При установке Windows 10 вы можете не беспокоиться, что получите устаревшую версию DirectX, но с «семёркой» такая уверенность будет излишней, поскольку вы, скорее всего, будете использовать образ, созданный достаточно давно.
Проверить, какая версия используется на вашем ПК, можно с помощью описанной выше команды dxdiag. Данные о версии DirectX находятся во вкладке «Сведения о системе».


Если номер версии меньше 12, рекомендуется обновить DirectX – скачать инсталлятор или использовать веб-установщик. Установка стандартная, нужно просто следовать подсказкам. Единственный нюанс – рекомендуем не ставить галочку для установки панели Bing.




Обновление драйвера видеокарты
При установке Windows 7 не факт, что вы получите самый свежий драйвер графического адаптера. В «Десятке» драйверы вообще от Microsoft, а не от производителя. Так что при появлении ошибки Direct3D не исключено, что виновником является устаревший или испорченный драйвер видеокарты.
В Windows 10 перезагрузка видеодрайвера осуществляется достаточно просто, нажатием комбинации Win + Ctrl + Shift + B. Когда дисплей потухнет на секунду (а может, и несколько раз) – это нормально, пугаться не стоит. Если перезагрузка не помогла, драйвер видеокарты нужно обновить.

Делаем следующее:
- в консоли «Выполнить» набираем devmgmt.msc, чтобы запустить «Диспетчер устройств»;

- ищем строку «Видеоадаптеры», раскрываем её и смотрим, нет ли слева от названия графического акселератора серой пиктограммы. Если есть, видеоадаптер банально отключен. Это означает, что вы запускаете игру на встроенной в CPU графической подсистеме, которая, конечно же, имеет слишком слабые характеристики по производительности;

- кликаем по строке ПКМ и выбираем пункт «Включить»/«Задействовать»;

- включить производительный видеоакселератор можно и посредством контрольной панели от производителя, иконка которой обычно висит в трее;
- если включение видеокарты не помогло, в том же диспетчере после нажатия ПКМ выбираем пункт «Удалить». После подтверждения устройство исчезнет из списка, а драйверы будут деинсталлированы;

- теперь самое время зайти на официальный сайт производителя и скачать самую свежую стабильную версию драйвера (вариантов немного – Intel, Nvidia или AMD), выбрав свою модель графического адаптера, если она не определилась автоматически;
- запустите инсталлятор, дождитесь окончания установки «дров», перезагрузите компьютер.

ВАЖНО. Если Центр обновления Windows предложит вам установить драйвер, отказывайтесь. Самый проверенный и оптимально работающий вариант – это драйвер от производителя, взятый с официального сайта.
Переустановка Visual C++ Redistributables
Как ни странно это звучит, но ошибка Direct3D при запуске игры может возникать и при появлении проблем с библиотекой Visual C++, которая является обязательной компонентой Windows – её используют очень многие приложения.



Ошибка устраняется переустановкой пакета. Скачиваем с официального сайта Microsoft самую свежую версию пакета, удаляем библиотеку из вкладки «Программы и компоненты» «Панели управления», запускаем скачанный инсталлятор. После установки перезагружаем ПК.


Используем режим совместимости
Не исключён вариант, что ошибка Direct3D появилась вследствие запуска старой игры на современном компьютере, особенно часто такое случается в «десятке».
Проблема устраняется следующим образом:
Если сделать предположение, что вы не знаете, какая версия ОС является текущей, а какая предшествующей, можно поступить следующим образом:
Включение видеокарты в BIOS
Геймеры – народ прогрессивный, с вероятностью 98% на их компьютере установлена внешняя дискретная мощная видеокарта. О том, что нужно использовать именно этот адаптер, а не более слабый встроенный, операционная система узнаёт из BIOS. Но настройки BIOS иногда «слетают», и если поддержка внешнего видеоадаптера оказывается отключённой, ошибке «не удалось найти устройство Direct3D» удивляться не стоит.
Нужно просто зайти в BIOS и исправить ситуацию, активировав использование дискретной видеокарты. Как это сделать, мы описывать не будет по простой причине: версий микропрограммы существует немало, и в каждой включение внешней видеокарты осуществляется по-своему. Читайте инструкцию для вашей материнской платы, хотя минимальных знаний английского достаточно, чтобы выполнить эту операцию без подсказок.
Проверка целостности файлов (Steam)
Многие современные игры используют платформу Steam, и если с одной из её компонент произошла непредвиденная ситуация, то игра не запустится. Проблема устраняется легко, непосредственно из клиента – нужно использовать функцию проверки целостности пакета файлов, и если чего-то недостаёт, здесь же можно устранить неисправность.


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

Ошибка инициализации Direct3D с текущими настройками
Может показаться, что речь идёт о совсем другой, принципиально иной ошибке, но это не так. Хотя описание действительно другое, причины появления подобного сообщения примерно те же, что описаны в предыдущем разделе.
Но есть и различия: данная ошибка обычно более информативна.
Например, если сообщение имеет вид «Failed to initialize D3D11», из этого можно сделать вывод, что запускаемая игра требует наличия одиннадцатой версии Direct3D, а ваша видеокарта поддерживает более раннюю. Здесь ничего не поделаешь – нужно либо отказаться от игры, либо менять видеоадаптер.

Сообщение «Direct3D 9 device initialization error» из той же серии, указывает на необходимость поддержки 9 версии API.
Устаревший или запорченный драйвер видеокарты – тоже частая причина возникновения ошибки «Can’t init Direct3D», устранить которую можно переустановкой «дров» по алгоритму, описанному ранее.
Точно так же происходит при повреждении файлов, входящих в пакет DirectX. Причины могут быть разными – результат воздействия зловредного ПО или неумышленные манипуляции пользователя (возможно, малолетнего, всякое бывает). Лечение то же – обновление DirectX.
Отметим также, что подобные ошибки в большей степени характерны для ноутбуков, поскольку драйверы для них пишутся под конкретную модель, и малейшее отклонение «влево или вправо» может вызвать проблемы. И сбои BIOS в ноутбуках случаются чаще, чем на десктопных ПК.
Описанные в данной статье способы, как исправить ошибки данного типа, касаются только тех случаев, когда проблема не связана с возникновением серьёзных неполадок с ОС Windows. Впрочем, такие неполадки обязательно проявят себя и вне привязки к играм, и поможет только радикальное средство – переустановка операционной системы.


