I. Introduction▲
PIX est un débogueur pour les applications DirectX. Disponible au travers du SDK DirectX, cet outil permet d'enregistrer les appels DirectX effectués par une application afin d'analyser et de déboguer les problèmes graphiques.
II. Lancement de PIX▲
Lancement de PIX
Afin de réaliser une capture GPU, il est nécessaire que le code de PIX soit injecté avant le premier appel DirectX. Il est donc impossible d'attacher PIX a un programme déjà lancé si vous souhaitez faire une capture GPU.
Il est possible de faire du débogage à distance avec PIX.
III. Faire une capture▲
Faire une capture avec PIX
Vous pouvez retrouver le projet ModelViewer utilisé dans cette démonstration, dans les exemples d'utilisation de DirectX.
Le débogage d'une application à travers PIX apporte un surcoût diminuant la vitesse d'exécution de votre application. La capture GPU démarre après l'appui sur la touche « Impr Écran ». Il est possible de prendre plusieurs captures pendant une même exécution de l'application.
Si les informations affichées par PIX vous gênent, celles-ci peuvent être désactivées dans les options.
IV. Aperçu de la capture▲
Aperçu de la capture PIX
Après le chargement d'une capture, PIX vous donne accès à de nouveaux onglets. L'onglet aperçu (« Overview ») affiche une liste des appels Direct3D, une capture d'écran et une ligne temporelle des opérations de rendu.
Il est possible de rejouer les appels Direct3D afin que PIX les analysent. Même s'il est aussi possible de les rejouer sur une autre machine, les différences entre les constructeurs de GPU ou encore entre les pilotes d'un même constructeur font que cela risque de ne pas fonctionner.
Les données de la ligne temporelle ne seront disponibles qu'après avoir cliqué sur le bouton « Collect Timing Data ».
V. Analyse du pipeline▲
Analyse du pipeline de la capture PIX
L'onglet pipeline permet d'avoir accès à des détails sur les appels Direct3D. Pour cela, l'onglet se décompose en trois parties : la liste des appels, des informations sur chaque appel et une vue de l'état du pipeline graphique au moment de l'appel de la fonction sélectionnée.
La vue du pipeline permet d'afficher les données contenues dans les tampons et d'avoir un rendu intermédiaire de l'image.
VI. Débogage▲
Débogage à travers PIX
L'onglet de débogage permet de déboguer les shaders. Ainsi, vous pouvez placer des points d'arrêt, effectuer une exécution pas à pas de vos shaders et voir la valeur des variables utilisées.
VII. Commenter▲
N'hésitez pas à commenter cet article sur le forum.