2009-11-19 5 views
0

J'ai un problème lorsque Device.Dispose() prend beaucoup de temps à s'exécuter lorsque l'application est fermée. J'étudie si cela est dû au fait que les objets non gérés ne sont pas libérés correctement, ce qui entraîne un long temps de nettoyage.Suivi des objets DirectX non gérés alloués via Managed DirectX

Existe-t-il un moyen facile de tracer ou d'afficher les objets DirectX non gérés qui ont été alloués?

Répondre

1

J'ai trouvé un moyen de tracer tous les appels faits à DirectX.

Téléchargez et installez le SDK DirectX (installé en août 2009).

Exécuter une application appelée PIX pour Windows dans le DirectX SDK -> DirectX Utilities

Créer une nouvelle expérience dans le menu Fichier. Sélectionnez "un flux d'appels Direct3D rejouable, enregistré dans un fichier:", entrez un nom de fichier et sélectionnez votre application. Lorsque vous quittez votre application, une trace complète de tous les appels DirectX s'affiche avec une chronologie.