2010-12-06 59 views
-1

我试图加快我的Direct3D应用程序的开始时间,并且我已经注意到Direct3DCreate9根据探查器需要一整秒(比其他更多)。为什么?对此可以做些什么?为什么Direct3DCreate9会变慢?

操作系统:XP,DirectX:9.0。在使用不同DirectX的Windows 7上也有相同的行为,并且我注意到很多游戏都受到这种“Direct X初始化”的影响,所以它不像是我的配置中的问题。

回答

3

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

您可以做些什么来提高此通话的速度。如果可能的话,最好的选择是在用户首次初始化DirectX时,通常会向用户提供一些视觉反馈,以指示正在加载的东西。这至少表明你的应用程序正在做“某事”,而不是仅仅挂起。

+0

不过,我不明白如何初始化一堆库可能需要一秒钟。 Direct3DCreate9中没有加载DLL,换句话说,它只是执行代码。我很难想象任何需要这么多时间来计算的任务。 – himself 2010-12-06 17:21:59