Diagnostics des graphiques Visual StudioVisual Studio Graphics Diagnostics

Visual StudioGraphics Diagnostics est un ensemble d’outils pour l’enregistrement, puis en analysant les problèmes de rendu et de performances dans les applications Direct3D.Visual StudioGraphics Diagnostics is a set of tools for recording and then analyzing rendering and performance problems in Direct3D apps. Graphics Diagnostics peut être utilisé sur les applications qui s’exécutent localement sur votre PC Windows, dans un émulateur d’appareil Windows, ou sur un PC ou un appareil distant.Graphics Diagnostics can be used on apps that are running locally on your Windows PC, in a Windows device emulator, or on a remote PC or device.

Le flux de travail Graphics Diagnostics commence par capturer un enregistrement de la façon dont votre application utilise Direct3D (dynamiquement, durant son exécution) pour que les informations relatives au comportement puissent être analysées immédiatement, partagées ou enregistrées pour un usage différé.The Graphics Diagnostics workflow begins by capturing a record of how your app uses Direct3D—live, as it runs—so that its behavior can be analyzed immediately, shared, or saved for later. Sessions de capture peuvent être lancées et contrôlées manuellement à partir de Visual Studio ou avec l’outil de ligne de commande de capture dxcap.exe.Capture sessions can be initiated and controled manually from Visual Studio or with the command-line capture tool dxcap.exe. Les sessions de capture peuvent également être lancées et contrôlées par programmation à l’aide des API de capture Graphics Diagnostics.Capture sessions can also be initiated and controled programmatically by using the Graphics Diagnostics capture APIs.

Après une session de capture a été enregistrée son contenu peut être lu par Visual Studio Graphics Analyzer à tout moment, en recréant les frames capturés en utilisant les mêmes ressources exacts et de commandes de rendu de l’application utilisée.After a capture session has been recorded its contents can be played back by Visual Studio Graphics Analyzer at any time, recreating the captured frames by using the exact same resources and rendering commands the app used. Ensuite, à l'aide des outils fournis dans la fenêtre Graphics Analyzer, les frames capturés peuvent être analysés en détail.Then, using the tools provided in the Graphics Analyer window, any of the captured frames can be analyzed in detail. Ces outils permettent d'examiner un appel d'API, une ressource, un objet État du pipeline, une étape de canalisation Direct3D, ou même l'historique complet d'un pixel dans un frame capturé.These tools can be used to examine any Direct3D API call, resource, pipeline state object, pipeline stage, or even the complete history of any pixel in a captured frame. L’utilisation conjointe de ces outils permet d’explorer un problème de rendu de façon intuitive, depuis son apparition dans un frame capturé jusqu’à sa cause racine dans le code source, les nuanceurs ou les ressources graphiques de l’application.By using these tools in concert, a rendering problem can be explored intuitively, starting from how it appears in a captured frame and drilling down to its root cause in the app's source code, shaders, or graphics assets.

Pour diagnostiquer des problèmes de performances, un frame capturé peut être analysé à l’aide de la analyse des frames outil.To diagnose performance problems, a captured frame can be analyzed by using the Frame Analysis tool. Cet outil explore les optimisations de performances potentielles en changeant automatiquement la manière dont l'application utilise Direct3D, et en vous fournissant des benchmarks de toutes les variations.This tool explores potential performance optimizations by automatically changing the way the app uses Direct3D and benchmarking all the variations for you. Par le passé, vous avez peut-être été amené à effectuer et évaluer les modifications de ce genre manuellement, simplement pour trouver celles qui faisaient la différence.In the past, you might have made and benchmarked these kinds of changes manually just to find out which ones made a difference. Avec l'outil Analyse des frames, il vous suffit d'apporter les modifications dont l'impact est garanti.With Frame Analysis, you only need to make the changes you already know will pay off.

Graphics Diagnostics contribue à rendre votre application graphique Direct3D plus esthétique et plus performante.Graphics Diagnostics helps your graphically-rich Direct3D app look and run its best.

Continuer à vue d’ensemble pour en savoir plus sur ce que propose Visual Studio Graphics Diagnostics.Continue to Overview to learn more about what Visual Studio Graphics Diagnostics offers.

Dans cette sectionIn This Section

Vue d’ensembleOverview
Présente le flux de travail et les outils de Graphics Diagnostics.Introduces the Graphics Diagnostics workflow and tools.

Prise en mainGetting Started
Dans cette section, vous apprendrez à installer Visual Studio Graphics Diagnostics, et à utiliser Graphics Diagnostics avec votre application Direct3D.In this section, you'll learn how to install Visual Studio Graphics Diagnostics and how to start using Graphics Diagnostics with your Direct3D app.

Capturing Graphics InformationCapturing Graphics Information
Pour examiner un problème de rendu dans votre application à l’aide de Graphics Diagnostics, vous devez d’abord enregistrer des informations indiquant comment l’application utilise DirectX.To use Graphics Diagnostics to examine a rendering problem in your app, you first record information about how the app uses DirectX. Au cours de la session d’enregistrement, en tant que votre application s’exécute normalement, vous capture (autrement dit, sélectionnez) les frames qui vous intéressent.During the recording session, as your app runs normally, you capture (that is, select) the frames that you're interested in. Les captures contiennent des informations détaillées sur le rendu des frames.The captures contain detailed information about how the frames are rendered. Vous pouvez enregistrer les informations capturées sous forme de document journal de graphisme pour l’examiner ultérieurement ou le partager avec d’autres membres de votre équipe.You can save the captured information as a graphics log document to examine later or share with other members of your team.

Utilisation du GPUGPU Usage
Pour profiler votre application à l’aide de Graphics Diagnostics, utilisez l’outil Utilisation du GPU.To use Graphics Diagnostics to profile your app, use the GPU Usage tool. Servez-vous de l'outil Utilisation du GPU conjointement avec d'autres outils de profilage, tels que l'outil Utilisation de l'UC, pour mettre en corrélation les activités de l'UC et du GPU éventuellement responsables des problèmes de performances de votre application.GPU usage can be used in concert with other profiling tools, such as CPU Usage, to correlate CPU and GPU activity that might contribute to performance problems in your app.

Document journal de graphismeGraphics Log Document
Pour démarrer l’examen d’un journal de graphisme enregistré, vous utilisez la fenêtre de document journal de graphisme pour sélectionner un frame capturé, voire un pixel spécifique, afin que vous pouvez examiner en détail le événements (autrement dit, les appels d’API DirectX) qui l’affectent .To start the examination of a recorded graphics log, you use the Graphics Log document window to select a captured frame—or even a specific pixel—so that you can examine in detail the events (that is, the DirectX API calls) that affect it.

Analyse des framesFrame Analysis
Une fois le frame sélectionné, utilisez l’analyse des frames graphiques pour examiner et ajuster vos performances de rendu.After you select a frame, you use Graphics Frame Analysis to examine and tune your rendering performance.

Liste des événementsEvent List
Après avoir sélectionné un frame, vous utilisez la liste des événements Graphics pour examiner les événements pour déterminer si elles sont liées au problème de rendu.After you select a frame, you use the Graphics Event List to examine its events to determine whether they are related to the rendering problem.

ÉtatState
La fenêtre État vous permet de comprendre l'état graphique actif au moment de l'événement actuel.The State window helps you understand the graphics state that is active at the time of the current event.

Étapes de canalisationPipeline Stages
Dans le étapes de canalisation Graphics fenêtre, vous étudiez la manière dont l’événement sélectionné est traité par chaque étape du pipeline graphique afin que vous puissiez identifier où le problème de rendu s’affiche d’abord.In the Graphics Pipeline Stages window, you investigate how the currently selected event is processed by each stage of the graphics pipeline so that you can identify where the rendering problem first appears. L'examen des étapes de canalisation est particulièrement utile quand un objet ne s'affiche pas en raison d'une transformation incorrecte ou quand une des étapes génère une sortie qui ne correspond pas à ce qu'attend l'étape suivante.Examining the pipeline stages is particularly helpful when an object doesn't appear because of an incorrect transformation, or when one of the stages produces output that doesn't match what the next stage expects.

Pile des appels des événementsEvent Call Stack
Vous utilisez la événements Graphics pour examiner la pile des appels de l’événement actuellement sélectionné afin que vous pouvez accéder au code d’application qui est lié au problème de rendu.You use the Graphics Event Call Stack to examine the call stack of the currently selected event so that you can navigate to app code that's related to the rendering problem.

Historique des pixelsPixel History
À l’aide de la historique des pixels Graphics fenêtre pour analyser la façon dont le pixel sélectionné est affecté par les événements qui ont influencé, vous pouvez identifier l’événement ou la combinaison d’événements qui provoquent certains types de problèmes de rendu.By using the Graphics Pixel History window to analyze how the currently selected pixel is affected by the events that influenced it, you can identify the event or combination of events that cause certain kinds of rendering problems. L'historique des pixels est particulièrement utile en cas de rendu incorrect d'un objet du fait d'une sortie du nuanceur de pixels incorrecte ou mal combinée avec le tampon de trame ou encore quand un objet ne s'affiche même pas si, par exemple, ses pixels ont été ignorés avant d'atteindre le tampon de trame.The pixel history is particularly helpful when an object is rendered incorrectly because pixel shader output is either incorrect or has been combined incorrectly with the frame buffer, or when an object doesn't even appear because its pixels have been discarded before they reach the frame buffer.

Table des objetsObject Table
Vous utilisez la Table des objets Graphics pour examiner les propriétés et le contenu des objets Direct3D spécifiques et des ressources qui sont en vigueur pour l’événement sélectionné.You use the Graphics Object Table to examine the properties and contents of specific Direct3D objects and resources that are in effect for the currently selected event. La table des objets peut vous aider à déterminer le contexte du périphérique graphique actif au cours d’un événement et à examiner le contenu de ressources graphiques telles que les mémoires tampons constantes, les mémoires tampons de vertex et les textures.The object table can help you determine the graphics device context that's active during an event, and examine the contents of graphics resources such as constant buffers, vertex buffers, and textures.

Débogueur HLSLHLSL Debugger
Pour examiner le code du nuanceur pour l’événement sélectionné et les graphiques l’étape de canalisation, vous utilisez la débogueur HLSL pour parcourir le code, examiner le contenu des variables et effectuer d’autres tâches classiques de débogage.To examine how the shader code for the currently selected event and graphics pipeline stage behaves, you use the HLSL Debugger to step through code, examine the contents of variables, and perform other typical debugging tasks. Vous pouvez aussi utiliser le débogueur HLSL pour examiner le code de nuanceur de calcul, que les résultats subissent un traitement supplémentaire de la canalisation Graphics ou qu'ils soient seulement relus par votre application.You can also use the HLSL debugger to examine compute shader code, regardless of whether the results are further processed by the graphics pipeline or are just read back by your app.

Outil de capture en ligne de commandeCommand-Line Capture Tool
Utilisez l'outil en ligne de commande de capture pour capturer et lire rapidement des informations graphiques sans passer par Visual Studio ou une capture par programmation.Use the command-line capture tool to quickly capture and play back graphics information without using Visual Studio or programmatic capture. En particulier, vous pouvez utiliser l'outil en ligne de commande pour l'automatisation ou dans un environnement de test.In particular, you can use the command-line capture tool for automation, or in a test environment.

ExemplesExamples
Plusieurs exemples montrent comment utiliser conjointement les outils Graphics Diagnostics pour diagnostiquer différents types de problèmes de rendu.Several examples demonstrate how to use the Graphics Diagnostics tools together to diagnose different kinds of rendering problems.

TitreTitle DescriptionDescription
Visite guidée des fonctionnalités du débogueurDebugger Feature Tour Présente la fonctionnalité de débogage de Visual StudioVisual Studio.Introduces the debugging functionality in Visual StudioVisual Studio.
Graphiques et jeux DirectXDirectX Graphics and Gaming Fournit des articles ayant trait aux technologies graphiques DirectX.Provides articles that discuss DirectX graphics technologies.