Ошибка видеодрайвера и ошибка отображения в Revit: как исправить

Вы вращаете модель, и вдруг окно с заголовком «Ошибка видеодрайвера» и сообщением «Произошла ошибка видеодрайвера», после которого Revit предупреждает, что приложение будет закрыто, и предлагает перезапустить его. У этой ошибки есть младшая сестра: окно «Ошибка отображения» с текстом «Произошла ошибка при прорисовке содержимого этого окна. Окно будет закрыто», когда падает не весь Revit, а только один вид. Обе растут из одного корня, графической подсистемы, и лечатся одинаково. Разберём, что стоит за ними и как их убрать, опираясь на документацию Autodesk.
Что означает ошибка и откуда берётся
Revit рисует модель силами видеокарты через DirectX. Когда драйвер видеокарты падает, перезапускается или не отвечает вовремя, Revit теряет связь с графическим устройством и показывает эту ошибку. По статье Autodesk об этой ошибке, в журнале Revit в момент сбоя появляются характерные строки: DX Hardware Acceleration driver failed with Error - DXGI_ERROR_DEVICE_REMOVED с указанием на GDeviceOGS.cpp, а иногда Textures().Acquire Failed with Error - DEVICE_ERROR. Сам код DXGI_ERROR_DEVICE_REMOVED Microsoft описывает так: видеокарта физически удалена из системы либо произошло обновление драйвера, и приложение должно пересоздать графическое устройство. Иначе говоря, Windows на мгновение «отняла» видеокарту у Revit.
Отнимать её может механизм TDR (Timeout Detection and Recovery): если видеокарта не ответила системе за отведённое время, Windows сбрасывает и перезапускает драйвер, а работающее приложение получает именно этот код. Так что причины ошибки почти всегда лежат в связке «драйвер плюс видеокарта», а не в самом Revit: устаревший или несертифицированный драйвер, конфликт после обновления Windows или драйвера, ноутбук, запускающий Revit на встроенной графике вместо дискретной, перегрев или нехватка видеопамяти на тяжёлой модели, а также работа через удалённый рабочий стол без доступа к видеокарте.

Где смотреть подробности. Журналы Revit лежат в папке C:\Users\<имя>\AppData\Local\Autodesk\Revit\<продукт и версия>\Journals. Откройте последний journal-файл и поищите строку DXGI_ERROR_DEVICE_REMOVED: рядом будет указано, какой драйвер и видеокарта участвовали в сбое. Второй индикатор проще: в Revit откройте Options, вкладку Graphics. Если там написано, что установленная видеокарта не тестировалась с Revit, драйвер или карта не входят в сертифицированный список, и с этого стоит начать.
Про «Ошибку отображения» отдельно. Если вместо закрытия всего Revit вы видите окно «Ошибка отображения» и текст «Произошла ошибка при прорисовке содержимого этого окна. Окно будет закрыто», это тот же сбой графики, но локальный: Revit закрывает один вид и продолжает работать. По документации Autodesk она чаще всего появляется при редактировании текста, при изменении стены или её профиля и при открытии отдельных видов со связанными моделями. Рецепт у Autodesk тот же, что и для полной ошибки видеодрайвера, поэтому дальше идём по общему списку. Единственное дополнение: если ошибка стабильно повторяется на одном и том же виде, начните с Audit модели и проверки связей на этом виде, а не с драйвера.
Что делать: от простого к сложному
Autodesk в разделе Troubleshooting даёт последовательность, и она выстроена именно от простого к сложному, повторим её с пояснениями.
Обновить сам Revit. Убедитесь, что установлено последнее обновление вашей версии Revit. Часть проблем с графикой Autodesk чинит в апдейтах, и ловить сбой на старой сборке нет смысла.
Проверить, что железо соответствует требованиям, и поставить сертифицированный драйвер. Это главный шаг. У Autodesk есть страница Certified Hardware (autodesk.com/graphics-hardware), где по вашей видеокарте и версии Revit показан сертифицированный драйвер, его можно скачать прямо оттуда. Важный нюанс: самый свежий драйвер с сайта NVIDIA или AMD не всегда совпадает с сертифицированным. Если ошибка появилась сразу после обновления драйвера или Windows, откатите драйвер на предыдущую версию, это частая и быстрая победа.
Если драйвер уже актуальный, переустановить его. Autodesk прямо пишет: повреждённая установка драйвера сама по себе вызывает ошибки, и если у вас уже стоит нужная версия, удалите и поставьте ту же версию заново. Для чистоты используют Display Driver Uninstaller (DDU) в безопасном режиме, а затем установку с опцией чистой установки.
Проверить, на какой видеокарте работает Revit. На ноутбуках с двумя графическими адаптерами Revit может стартовать на встроенной графике Intel, а не на дискретной NVIDIA или AMD. Назначьте Revit дискретную карту в панели управления NVIDIA или AMD Software и продублируйте это в «Параметрах графики» Windows. Заодно проверьте температуру видеокарты под нагрузкой на тяжёлой модели: перегрев даёт ровно такую же ошибку, как плохой драйвер.
Проверить модель. Autodesk советует открыть проблемный файл с включённым Audit. Ошибка иногда воспроизводится на конкретных видах со связями, при редактировании текста или профиля стены, и повреждённая модель может провоцировать сбой графики.
Снизить нагрузку на видеопамять. Реалистичный стиль отображения, тени, много открытых 3D-видов и тяжёлые связи съедают видеопамять. Если сбой повторяется только в Realistic, переключитесь на Shaded или Hidden Line и посмотрите, исчезнет ли проблема. Для больших моделей 4 ГБ видеопамяти уже мало, и здесь помогает только более мощная карта.
| № | Что проверить | Что сделать |
|---|---|---|
| 1 | Стоит ли последнее обновление Revit | Установить обновление через Autodesk Access или установщик |
| 2 | Сертифицирован ли драйвер | Сверить на странице Certified Hardware, поставить сертифицированную версию или откатить |
| 3 | Не повреждена ли установка драйвера | Переустановить ту же версию начисто, DDU в безопасном режиме |
| 4 | На какой видеокарте работает Revit | Назначить дискретную карту в панели NVIDIA/AMD и в Windows |
| 5 | Не перегревается ли видеокарта | Проверить температуру под нагрузкой, почистить, обновить BIOS |
| 6 | Не повреждена ли модель | Открыть с Audit, проверить проблемные виды |
| 7 | Хватает ли видеопамяти | Убрать Realistic и тени, закрыть лишние 3D-виды |
| 8 | Нужно доработать прямо сейчас | Временно отключить аппаратное ускорение |
Временный обход: отключить аппаратное ускорение
Если дедлайн сегодня, а разбираться с драйверами некогда, есть штатный обход от Autodesk: отключить аппаратное ускорение, и Revit перейдёт на программную отрисовку через процессор. Модель будет вращаться медленнее, зато без вылетов.
Сделать это можно двумя способами. Первый, когда Revit запускается: Options, вкладка Graphics, снять галочку Use Hardware Acceleration. Второй, когда Revit падает ещё до открытия настроек: открыть файл Revit.ini в Блокноте (он лежит в C:\Users\<имя>\AppData\Roaming\Autodesk\Revit\<продукт и версия>), найти в секции [Graphics] строку UseGraphicsHardware= и поставить значение 0. Сохранить файл и запустить Revit. Чтобы вернуть ускорение, ставите обратно 1 или включаете галочку.
Это костыль, а не решение. Без аппаратного ускорения Revit заметно медленнее на любой серьёзной модели, а в реалистичном стиле некоторые эффекты отображаются иначе. Отключение спасает рабочий день, но если оно стало постоянным режимом, значит проблема с драйвером или видеокартой так и не решена. Отдельно про TDR: в сети советуют увеличить таймаут через ключи TdrDelay в реестре. Это лечит симптом, а не причину, требует аккуратной правки реестра и может маскировать нестабильность карты, поэтому оставьте это на крайний случай.
Ошибка видеодрайвера при работе через удалённый рабочий стол
Отдельный и всё более частый случай: Revit стоит на сервере или удалённой машине, а сотрудник заходит через RDP. Стандартная сессия удалённого рабочего стола не даёт приложению полноценный доступ к видеокарте, и Revit либо уходит в программную отрисовку, либо показывает ту же ошибку видеодрайвера. Внешне это выглядит так же, как проблема с драйвером, но переустанавливать драйвер бесполезно: карта просто не видна внутри сессии.
Проверить это легко: внутри удалённой сессии откройте в Revit вкладку Graphics в Options. Если аппаратное ускорение недоступно или карта не определяется, дело в самой сессии. Помогает физическая или виртуальная видеокарта (GPU passthrough или vGPU), которая видна внутри сессии, плюс настройки удалённого рабочего стола, разрешающие аппаратное ускорение.
На наших рабочих местах VDI это решено на уровне инфраструктуры: на тарифе с графикой внутри сессии доступна серверная видеокарта NVIDIA Tesla, поэтому Revit работает с аппаратным ускорением, а не на процессоре. Драйвер сертифицированной версии стоит на стороне сервера, пользователю подбирать ничего не нужно.
В подавляющем большинстве случаев виноват драйвер, а не Revit, и лечится это сертифицированной версией и правильно выбранной видеокартой. Отключение ускорения выручает под дедлайн, но не должно становиться нормой: работа на процессоре медленнее, а причина никуда не делась.
Revit вылетает или тормозит на вашем железе? Облачное рабочее место с серверной видеокартой даёт стабильную графику без подбора драйверов и обновлений на каждой машине. Напишите в Telegram @revitserver или на info@revitserver.ru, дадим тестовый доступ.