0

我正在制作一个需要这些功能的 C++/Windows/DirectX 程序

d3d = Direct3DCreate9(D3D_SDK_VERSION);

d3d->CreateDevice(...);

当我运行程序时,这些初始化函数需要特别长时间才能工作(不长,但很明显)。有什么办法可以缩短这些的加载时间吗?

该程序的基本结构是

INIT
WHILE TRUE
    CHECK WIN. MESSG.
    ONE FRAME OF GAME
END WHILE
RELEASE RESC.
4

3 回答 3

3

不可以。不幸的是,初始化 D3D 系统和创建设备是一项耗时的操作。它需要使用您的显卡驱动程序、初始化 D3D 等。您对此拥有的唯一控制权可能是获得一个可以更快地进行内部初始化的驱动程序,或者改进您的硬件。

于 2009-10-01T20:15:46.430 回答
1

在 DirectX 初始化时,您总是可以启动线程来做一些工作......

于 2009-10-02T07:58:40.917 回答
0

我认为与之后可以依赖的性能相比,初始化 DirectX 所花费的时间可以忽略不计。除非您在应用程序运行期间经常初始化,否则这应该不是什么大问题。

于 2009-10-01T20:16:58.367 回答