Directx 为什么Direct3DCreate9会很慢?

Directx 为什么Direct3DCreate9会很慢?,directx,directx-9,Directx,Directx 9,我正在尝试将Direct3D应用程序的启动时间加快一点,根据profiler的说法,我注意到Direct3DCreate9需要整整一秒钟的时间(比其他任何东西都要多)。为什么?我们能做些什么呢 操作系统:XP,DirectX:9.0。使用不同的DirectX在Windows 7上的行为相同,我注意到许多游戏也存在这种“Direct X初始化”延迟,因此这并不是我的配置问题。调用Direct3DCreate9时,您正在初始化所有DirectX库。这可能需要一段时间 您几乎无法提高此呼叫的速度。如果

我正在尝试将Direct3D应用程序的启动时间加快一点,根据profiler的说法,我注意到Direct3DCreate9需要整整一秒钟的时间(比其他任何东西都要多)。为什么?我们能做些什么呢


操作系统:XP,DirectX:9.0。使用不同的DirectX在Windows 7上的行为相同,我注意到许多游戏也存在这种“Direct X初始化”延迟,因此这并不是我的配置问题。

调用
Direct3DCreate9
时,您正在初始化所有DirectX库。这可能需要一段时间


您几乎无法提高此呼叫的速度。如果可能的话,最好的选择通常是在初始化DirectX时,向用户提供一些加载内容的视觉反馈。这至少表明您的应用程序正在做“某些事情”,而不是挂起。

不过,我不明白初始化一堆库怎么可能需要一秒钟。Direct3DCreate9中没有加载DLL,换句话说,它只是在执行代码。我很难想象有什么任务需要这么多时间来计算。@他自己:这不仅仅是初始化库,还要检查图形卡,为以后的调用设置上限等等。。要初始化Direct3D,需要做很多事情,包括与硬件对话。(不幸的是)没有任何方法可以提高性能。那里(尽管它在发行版中比调试D3D模式快得多,顺便说一句…)