Приложение Direct3D работает нормально, если работает Windows Explorer, иначе сильно тормозит - PullRequest
6 голосов
/ 21 марта 2012

Наше приложение Direct3D9 отлично работает, если мы полностью запустим Windows, а затем запустим ее. Однако, если мы настроим процесс запуска Windows так, чтобы Explorer не запускался, а были запущены только Windows и наше приложение, наше приложение ужасно замедляется. Потребление процессора достигает 50%, даже в режиме ожидания (обычно оно близко к 0).

Это можно исправить, запустив диспетчер задач, запустив Explorer и перезапустив наше приложение. Но это не приемлемо; наше приложение должно работать без Проводника.

Может ли это быть Direct3D? Наше приложение работает в полноэкранном режиме, версия Windows - XP SP3 со всеми последними обновлениями, а версия Direct3D - 9.0.c. Если это не связано с Direct3D, как я могу отладить это?

1 Ответ

11 голосов
/ 21 марта 2012

Решил это. Пошел на Control Panel->UserAccounts->Change the way users log on or off и увидел, что «Использовать экран приветствия» было проверено.

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

...