6

如果我们完全启动 Windows,然后启动它,我们的 Direct3D9 应用程序就可以完美运行。但是,如果我们调整 Windows 的启动过程,使资源管理器不运行,而只启动 Windows 和我们的应用程序,我们的应用程序就会慢得可怕。CPU 消耗达到 50%,即使在空闲时(通常接近 0)。

这可以通过启动任务管理器、启动资源管理器并重新启动我们的应用程序来解决。但这是不可接受的;我们的应用程序必须在没有 Explorer 的情况下运行。

这可能是 Direct3D 的东西吗?我们的应用程序是全屏的,Windows 版本是包含所有最新更新的 XP SP3,Direct3D 版本是 9.0.c。如果这与 Direct3D 无关,我该如何调试呢?

4

1 回答 1

11

解决了。去Control Panel->UserAccounts->Change the way users log on or off并看到“使用欢迎屏幕”被选中。

取消选中即可解决。似乎当欢迎屏幕处于活动状态时,由于它使用与桌面不同的分辨率,因此会发生冲突。而且我没有检查,但这似乎导致硬件加速暂时不可用,因此选择了软件渲染,杀死了 CPU。

于 2012-03-21T16:35:33.257 回答