2009-10-01 9 views
0

Je fais un C++/programme Windows/DirectX qui requiert les fonctionsComment réduire le temps de chargement de DirectX?

d3d = Direct3DCreate9(D3D_SDK_VERSION); 

et

d3d->CreateDevice(...); 

quand je lance le programme, ceux-ci à des fonctions d'initialisation prennent particularily de temps pour travailler (peu de temps, mais noticible). Est-il possible de raccourcir le temps de chargement de ceux-ci?

La structure de base du programme est

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

Répondre

3

No. Malheureusement, l'initialisation du système de D3D et la création d'un dispositif est une opération fastidieuse. Cela nécessite de travailler avec vos pilotes pour votre carte graphique, d'initialiser D3D, etc. Le seul contrôle que vous avez sur ceci est d'obtenir éventuellement un pilote qui effectue son initialisation interne plus rapidement, ou d'améliorer votre matériel.

0

Je pense que le temps passé à initialiser DirectX est négligeable par rapport aux performances dont vous pouvez dépendre par la suite. Cela ne devrait pas vraiment poser de problème si vous ne vous initialisez pas souvent pendant le temps de fonctionnement de votre application.

1

Vous pouvez toujours déclencher un thread pour travailler pendant que DirectX est en cours d'initialisation ...

Questions connexes