Analyse des frames graphiquesGraphics Frame Analysis

Utilisez l’analyse des frames graphiques dans Visual Studio Graphics Analyzer pour analyser et optimiser les performances de rendu de votre jeu ou application Direct3D.Use Graphics Frame Analysis in Visual Studio Graphics Analyzer to analyze and optimize the rendering performance of your Direct3D game or app.

Analyse des framesFrame analysis

Si l'analyse des frames utilise les mêmes informations que celles capturées dans un fichier journal de graphisme à des fins de diagnostic, elle les utilise en revanche pour résumer les performances de rendu.Frame analysis uses the same information that's captured in a graphics log file for diagnostic purposes, but uses it to summarize rendering performance instead. Les informations de performance ne sont pas enregistrées dans le journal pendant la capture ; elles sont générées ultérieurement pendant l'analyse des frames en chronométrant les événements et en collectant les statiques à mesure que les frames sont lus.Performance information is not recorded to the log during capture; instead the performance information is generated later, during frame analysis, by timing events and collecting statistics as the frame is played back. Cette approche présente plusieurs avantages par rapport à l'enregistrement des informations de performances pendant la capture :This approach has several advantages over recording performance information during capture:

  • L'analyse des frames peut calculer la moyenne des résultats de plusieurs lectures d'un même frame pour s'assurer que le résumé des performances est cohérent du point de vue statistique.Frame analysis can average results from multiple playbacks of the same frame to ensure that the performance summary is statistically sound.

  • L'analyse des frames peut générer des informations de performances pour des configurations matérielles et des appareils autres que ceux sur lesquels les informations ont été capturées.Frame analysis can generate performance information for hardware configurations and devices other than the one where the information was captured.

  • Analyse des frames peut générer de nouveaux résumés de performances à partir des informations capturées antérieurement, par exemple, lorsque les pilotes GPU sont optimisés ou exposer des fonctionnalités de débogage supplémentaires.Frame analysis can generate new performance summaries from previously captured information — for example, when GPU drivers are optimized or expose additional debugging features.

    En plus de ces avantages, l'analyse des frames permet aussi de changer la façon dont le frame est affiché pendant la lecture avec la possibilité de présenter des informations sur l'impact potentiel de ces changements sur les performances de rendu d'une application.In addition to these advantages, frame analysis can also make changes to how the frame is rendered during playback so that it can present information about how those changes might impact the rendering performance of an app. Vous pouvez vous servir de ces informations pour tester les stratégies d'optimisation potentielles sans avoir à les implémenter, puis capturer et comparer tous les résultats.You can use this information to decide among potential optimization strategies without having to implement them all and then capture and compare all of the results yourself.

    Bien que l'analyse des frames vise essentiellement à vous aider à accéder à de meilleures performances de rendu, elle peut également vous aider à obtenir une meilleure qualité visuelle pour une cible de performances donnée ou à réduire la consommation d'énergie du GPU.Although frame analysis is primarily intended to help you achieve faster rendering performance, it can equally help you achieve better visual quality for a given performance target or reduce GPU power consumption.

    Pour voir une démonstration de ce que l’analyse des frames peut faire pour votre application, vous pouvez regarder la Visual Studio Graphics Frame Analysis vidéo sur Channel 9.To see a demonstration of what Frame Analysis can do for your app, you can watch the Visual Studio Graphics Frame Analysis video on Channel 9.

Utilisation de l'analyse des framesUsing Frame Analysis

Avant de pouvoir utiliser l'analyse des frames, vous devez d'abord capturer les informations graphiques de votre application pendant qu'elle s'exécute, comme vous le feriez avec un autre outil Graphics Analyzer.Before you can use Frame Analysis, you have to capture graphics information from your app as it runs, just as you would when you use any of the other Graphics Analyzer tools. Puis, dans la fenêtre de document (.vsglog) de journal graphics, choisissez le analyse des frames onglet.Then, in the graphics log document (.vsglog) window, choose the Frame Analysis tab.

Sélectionnez l’onglet Analyse des framesSelect the Frame Analysis tab.

Une fois l'analyse terminée, les résultats s'affichent.After the analysis is complete, the results are displayed. La partie supérieure de l'onglet d'analyse des frames affiche la chronologie et le tableau de résumé.The top part of the frame analysis tab displays the timeline and summary table. La partie inférieure affiche les tableaux contenant les détails.The bottom part displays the details tables. Si des erreurs ou des avertissements ont été générés pendant la lecture, ils sont résumés au-dessus de la chronologie ; de là, vous pouvez suivre les liens pour obtenir des informations supplémentaires sur les erreurs et les avertissements.If errors or warnings were generated during playback, they are summarized above the timeline; from there, you can follow the links to learn more about the errors and warnings.

Interprétation des résultatsInterpreting results

De l'interprétation des résultats de chaque variante, vous pouvez tirer des informations utiles sur les performances de rendu et le comportement de votre application.By interpreting the results of each variant, you can infer useful information about your app's rendering performance and behavior. Pour plus d’informations sur les variantes de rendu, consultez variantes plus loin dans cet article.For more information about rendering variants, see Variants later in this article.

Certains résultats montrent directement les effets d'une variante sur les performances de rendu :Some results directly indicate how the variant affects rendering performance:

  • Si le filtrage de texture bilinéaire a donné lieu à des gains de performances, l'utilisation de ce mode dans votre application se traduira par les mêmes gains de performances.If the Bilinear Texture Filtering variant showed performance gains, then using bilinear texture filtering in your app will show similar performance gains.

  • Si la variante Fenêtre d'affichage 1x1 a donné lieu à des gains de performances, la réduction de la taille des cibles de rendu dans votre application améliorera ses performances de rendu.If the 1x1 Viewport variant showed performance gains, then reducing the size of the render targets in your app will improve its rendering performance.

  • Si la variante de compression de texture BC a donné lieu à des gains de performances, l'utilisation de ce mode dans votre application se traduira par les mêmes gains de performances.If the BC Texture Compression variant showed performance gains, then using BC texture compression in your app will show similar performance gains.

  • Si la variante MSAAx2 offre des performances proches de la variante MSAAx0, vous pouvez activer MSAAx0 dans votre application pour améliorer sa qualité de rendu sans supporter de coût en matière de performances.If the 2xMSAA variant has almost the same performance as the 0xMSAA variant, you can enable 2xMSAA in your app to improve its rendering quality without cost in performance.

    Les autres résultats peuvent suggérer des incidences plus profondes et plus subtiles pour les performances de votre application :Other results might suggest deeper, more subtle implications for your app's performance:

  • Si la variante Fenêtre d'affichage 1x1 donne lieu à des gains de performances très importants, il est probable que votre application consomme un taux de remplissage supérieur à ce qui est disponible.If the 1x1 Viewport variant shows very large performance gains, your app is probably consuming more fillrate than is available. Si les gains de performances apportés par cette variante sont nuls, il est probable que l'application traite trop de sommets.If this variant shows no performance gains, the app is probably processing too many vertices.

  • Si la variante Format de cible de rendu 16 bpp ne montre pas de gains de performances significatifs, il est probable que votre application consomme trop de bande passante de mémoire.If the 16bpp Render Target Format variant shows significant performance gains, your app is probably consuming too much memory bandwidth.

  • Si la variante Dimensions de la texture moitié/un quart montre des gains de performances significatifs, il est probable que vos textures occupent trop de mémoire, consomment trop de bande passante ou n'utilisent pas efficacement le cache de texture.If the Half/Quarter Texture Dimensions variant shows significant performance gains, your textures probably occupy too much memory, consume too much bandwidth, or use the texture cache inefficiently. Si cette variante ne montre aucune évolution des performances, vous pouvez probablement utiliser des textures plus grandes et plus détaillées sans supporter de coût en matière de performances.If this variant shows no change in performance, you can probably use larger, more-detailed textures without paying a performance cost.

    Si vous disposez de compteurs matériels, vous pouvez les utiliser pour recueillir des informations très détaillées qui vous renseignerons sur les risques de détérioration des performances de rendu auxquels votre application est exposée.When hardware counters are available, you can use them to gather very detailed information about why your app's rendering performance might be suffering. Tous les appareils de 9.2 et supérieur au niveau des fonctionnalités prennent en charge les requêtes d’occlusion en profondeur (pixels bloqués compteur) et les horodatages.All feature-level 9.2 and higher devices support depth occlusion queries (pixels occluded counter) and timestamps. Il se peut que d'autres compteurs matériels soient disponibles si le fabricant de GPU les a implémentés, et les a exposés dans son pilote.Other hardware counters may be available, depending on whether the GPU manufacturer has implemented hardware counters and exposed them in its driver. Vous pouvez utiliser ces compteurs pour confirmer la cause exacte des résultats affichés dans le tableau Résumé (par exemple, vous pouvez déterminer si la superposition est un facteur en examinant le pourcentage de pixels qui ont été bloqués par le test de profondeur).You can use these counters to confirm the precise cause of the results shown in the summary table—for example, you can determine whether overdraw is a factor by examining the percentage of pixels that were occluded by the depth test.

Chronologie et tableau RésuméTimeline and Summary Table

Par défaut, la chronologie et le tableau Résumé sont affichés et les autres sections sont réduites.By default, the Timeline and Summary Table are displayed and the other sections are collapsed.

ChronologieTimeline

La chronologie offre une vue d'ensemble des minutages d'appels de dessin les uns par rapport aux autres.The timeline shows an overview of draw-call timings relative to one another. Sachant que le barres les plus longues correspondent aux temps d'appel les plus longs, vous pouvez vous en servir pour repérer rapidement les appels de dessin les plus coûteux du frame.Because larger bars correspond to longer draw times, you can use it to quickly locate the most expensive draw calls in the frame. Quand le frame capturé contient un très grand nombre d'appels de dessin, ceux-ci sont combinés en une barre unique dont la longueur représente la somme de ces appels de dessin.When the captured frame contains a very large number of draw calls, multiple draw calls are combined into one bar whose length is the sum of those draw calls.

La chronologie indique le dessin-appeler les coûts. The timeline shows draw-call costs.

Vous pouvez placer le pointeur sur une barre pour déterminer à quel événement d'appel de dessin la barre correspond.You can rest the pointer on a bar to see which draw-call event the bar corresponds to. Si vous sélectionnez la barre, la liste d'événements se synchronise avec cet événement.Selecting the bar causes the event list to synchronize to that event.

TableTable

Le tableau contenant les nombres en dessous de la chronologie présente les performances relatives de chaque variante de rendu pour chaque appel de dessin par rapport au rendu par défaut de votre application.The table of numbers below the timeline shows the relative performance of each rendering variant for each draw call with respect to your app's default rendering. Chaque colonne affiche une variante de rendu différente et chaque ligne représente un appel de dessin différent identifié dans la colonne la plus à gauche ; de là, vous pouvez suivre un lien vers l'événement dans la fenêtre Liste des événements Graphics.Each column displays a different rendering variant and each row represents a different draw call that's identified in the left-most column; from here you can follow a link to the event in the Graphics Event List window.

Le tableau récapitulatif montre différents variants. The summary table shows different variants.

La deuxième colonne du tableau Résumé en partant de la gauche affiche le temps de rendu du planning de référence de votre application, c’est-à-dire, le temps qu’il faut au rendu par défaut de votre application pour traiter l’appel de dessin.The second left-most column in the Summary Table displays your app's baseline rendering time—that is, the length of time it takes for your app's default rendering to complete the draw call. Les autres colonnes présentent les performances relatives de chaque variante de rendu sous la forme d'un pourcentage de la ligne de base, si bien qu'il est plus facile de déterminer si les performances s'améliorent.The remaining columns show the relative performance of each rendering variant as a percentage of the Baseline so that it's easier to see whether performance is improved. Les pourcentages supérieurs à 100 % indiquent une durée supérieure à la ligne de base (c'est-à-dire, des performances en baisse), tandis que les pourcentages inférieurs à 100 % ont pris moins de temps (performances en hausse).Percentages larger than 100 percent took longer than the Baseline—that is, performance went down—and percentages smaller than 100 percent took less time—performance went up.

Les valeurs de minutage absolu de la ligne de base et le minutage relatif des variantes de rendu sont en réalité des moyennes de plusieurs exécutions (5 par défaut).The values of both the absolute timing of the Baseline and the relative timing of the rendering variants are actually mean averages of multiple runs—5 by default. Cette moyenne est un gage de fiabilité et de cohérence des données de minutage.This averaging helps ensure that timing data is reliable and consistent. Vous pouvez placer le pointeur sur chaque cellule du tableau pour examiner les valeurs de minutage minimale, maximale, moyenne et médiane qui ont été observées lors de la génération des résultats de l'appel de dessin et de la variante de rendu en question.You can rest the pointer on each cell in the table to examine the minimum, maximum, mean, and median timing values that were observed when results for that draw call and rendering variant were generated. Le minutage de la ligne de base est aussi indiqué.The Baseline timing is also displayed.

Appels de dessin « sensibles »"Hot" draw calls

Pour attirer l’attention sur les appels de dessin dont la consommation de temps de rendu global est proportionnellement plus élevée ou qui peuvent être ralentis pour des raisons qui pourraient être évitées, la ligne qui contient ces appels de dessin « sensibles » apparaissent en rouge dès lors que leur propre minutage de planning de référence est plus long d’un écart-type que le minutage de ligne de base moyen de tous les appels de dessin du frame.To bring attention to draw calls that consume a greater proportion of overall rendering time or that might be unusually slow for reasons that could be avoided, the row that contains these "hot" draw calls is shaded red when its own Baseline timing is more than one standard deviation longer than the mean Baseline timing of all draw calls in the frame.

Cet appel DrawIndexed possède des variants à chaud et froid. This DrawIndexed call has hot and cold variants.

Signification statistiqueStatistical significance

Pour attirer l'attention sur les variations de rendu les plus pertinentes, l'analyse des frames détermine la signification statistique de chaque variante de rendu et affiche les plus révélatrices en gras.To bring attention to rendering variations that have the highest relevance, Frame Analysis determines the statistical significance of each rendering variant and displays the significant ones as boldface. Elle affiche celles qui améliorent les performances en vert et celles qui les diminuent en rouge.It displays the ones that improve performance as green and the ones that reduce performance as red. Elle affiche les résultats non significatifs du point de vue statistique en caractères normaux.It displays results that are not statistically significant as normal type.

Pertinence statistique de la variante d’appel de dessinThe statistical relevence of the draw call variant

Pour déterminer la pertinence statistique, l’analyse des frames utilise le test t de Student.To determine statistical relevance, Frame Analysis uses the Student's t-test.

Tableau DétailsDetails table

En dessous du tableau Résumé se trouve le tableau Détails, qui est réduit par défaut.Below the Summary table is the Details table, which is collapsed by default. Le contenu du tableau Détails dépend de la plateforme matérielle de l'ordinateur de lecture.The content of the Details table depends on the hardware platform of the playback machine. Pour plus d’informations sur les plateformes matérielles prises en charge, consultez prise en charge matérielle.For information about supported hardware platforms, see Hardware support.

Plateformes qui ne prennent pas en charge les compteurs matérielsPlatforms that do not support hardware counters

La plupart des plateformes ne prennent pas entièrement en charge les compteurs GPU (c'est le cas notamment de tous les GPU actuellement proposés par Intel, AMD et nVidia).Most platforms don't fully support hardware GPU counters—these include all GPUs currently offered by Intel, AMD, and nVidia. Quand il n'y aucun compteur matériel auprès duquel collecter des données, le tableau Détails s'affiche et contient le minutage absolu moyen de toutes les variantes.When there are no hardware counters to collect, only one Details table is displayed and it contains the mean absolute timing of all variants.

Le tableau de détails et certaines variantes de la lecture. The details table and some playback variants.

Plateformes qui prennent en charge les compteurs matérielsPlatforms that support hardware counters

Pour les plateformes qui prennent en charge les compteurs GPU matériels (par exemple, le SOC T40 SOC et tous les SOC Qualcomm), plusieurs tableaux Détails s'affichent, un pour chaque variante.For platforms that support hardware GPU counters—for example, the nVidia T40 SOC and all Qualcomm SOCs—several Details tables are displayed, one for each variant. Chaque compteur matériel disponible fait l'objet d'une collecte pour chaque variante de rendu et est affiché dans son propre tableau Détails.Every available hardware counter is collected for each rendering variant and displayed in its own Details table.

Compteurs matériels sont affichés lors de la prise en charge. Hardware counters are displayed when supported.

Les informations de compteur matériel fournissent une vue très détaillée du comportement spécifique de la plateforme matérielle pour chaque appel de dessin, ce qui peut vous aider à identifier très précisément la cause des goulots d'étranglement qui nuisent aux performances.The hardware counter information provides a very detailed view of specific hardware-platform behavior for each draw call, which can help you identify the cause of performance bottlenecks very precisely.

Note

Les compteurs pris en charge par les plateformes sont variables ; aucune norme n'existe dans ce domaine.Different hardware platforms support different counters; there is no standard. Les compteurs et ce qu'ils représentent sont déterminés uniquement par le fabricant de chaque GPU.The counters and what they represent are determined solely by each GPU manufacturer.

Régions de marqueur et événementsMarker regions and events

L'analyse des frames prend en charge les marqueurs d'événements et les groupes d'événements définis par l'utilisateur.Frame Analysis supports user-defined event markers and event groups. Ils sont affichés dans le tableau Résumé et dans les tableaux de détails.They are displayed in the Summary table and in the Detail tables.

Vous pouvez utiliser les API ID3DUserDefinedAnnotation ou la famille d'API existante D3DPERF_ pour créer des marqueurs et des groupes.You can use either the ID3DUserDefinedAnnotation APIs or the legacy D3DPERF_ family of APIs to create markers and groups. Quand vous utilisez la famille d'API D3DPERF_, vous pouvez assigner à chaque marqueur et groupe une couleur que l'analyse des frames affiche sous forme de bande colorée dans les lignes qui contiennent le marqueur d'événement ou les marqueurs de début/fin du groupe d'événements et leur contenu.When you use the D3DPERF_ API family, you can assign each marker and group a color that Frame Analysis displays as a colored band in the rows that contain the event marker or the event group begin/end markers and their contents. Cette fonctionnalité peut vous aider à repérer rapidement les événements de rendu ou les groupes d'événements importants.This feature can help you quickly identify important rendering events or groups of events.

Avertissements et erreursWarnings and errors

L'analyse des frames se termine parfois avec des avertissements et des erreurs, qui sont résumés au-dessus de la chronologie et détaillés au bas de l'onglet Analyse des frames.Frame Analysis occasionally completes with warnings or errors, which are summarized above the Timeline, and detailed at the bottom of the Frame Analysis tab.

En général, les avertissements et les erreurs sont communiqués à titre d'information uniquement et ne demandent aucune intervention.Usually, warnings and errors are only for informational purposes and don't require any intervention.

Les avertissements indiquent le plus souvent un défaut de prise en charge matérielle mais qui peut être contourné, une impossibilité de collecter des données de compteurs matériels ou le manque de fiabilité possible de certaines données de performance (par exemple, quand elles sont faussées par une solution de contournement).Warnings typically indicate that hardware support is lacking but can be worked around, hardware counters cannot be collected, or certain performance data may not be reliable—for example, when a workaround adversely affects it.

Les erreurs indiquent généralement la présence de bogues au niveau d'un pilote, de l'implémentation de l'analyse des frames, d'un défaut de prise en charge matérielle qui ne peut pas être contourné, ou encore que l'application tente quelque chose qui n'est pas pris en charge par la lecture.Errors typically indicate that the frame analysis implementation has bugs, a driver has bugs, hardware support is lacking and can't be worked around, or the app tries something that's not supported by playback.

Nouvelles tentativesRetries

Si le GPU connaît une transition de l'état d'alimentation pendant l'analyse des frames, l'analyse affectée doit être retentée, car la vitesse d'horloge du GPU a changé, ce qui a eu pour effet d'invalider les résultats du minutage relatif.If the GPU undergoes a power-state transition during frame analysis, the affected analysis pass must be retried because the GPU clockspeed changed and thereby invalidated relative timing results.

L'analyse des frames limite le nombre de nouvelles tentatives à 10.Frame Analysis limits the number of retries to 10. Si votre plateforme a recours à une gestion de l'alimentation agressive ou au « clock gating », cela peut entraîner l'échec de l'analyse des frames et le signalement d'une erreur pour dépassement de la limite de nouvelles tentatives.If your platform has aggressive power management or clock-gating, it might cause Frame Analysis to fail and report an error because it has exceeded the retry limit. Vous pouvez atténuer ce problème en réinitialisant la gestion de l'alimentation de votre plateforme et en choisissant une vitesse d'horloge moins agressive, si la plateforme le permet.You might be able to mitigate this problem by resetting your platform's power management and clock speed throttling to be less aggressive, if the platform enables it.

Prise en charge matérielleHardware support

Horodateurs et requêtes d'occlusionTimestamps and occlusion queries

Les horodateurs sont pris en charge sur toutes les plateformes prenant en charge l'analyse des frames.Timestamps are supported on all platforms that support Frame Analysis. Les requêtes d'occlusion en profondeur (nécessaires au compteur Pixels bloqués) sont prises en charge sur les plateformes qui prennent en charge le niveau de fonctionnalité 9.2 ou supérieur.Depth occlusion queries—required for the Pixels Occluded counter—are supported on platforms that support feature level 9.2 or higher.

Note

Bien que les horodateurs soient pris en charge sur toutes les plateformes qui gèrent l'analyse des frames, la précision et la cohérence des horodateurs varient d'une plateforme à l'autre.Although timestamps are supported on all platforms that support Frame Analysis, the accuracy and consistency of timestamps varies from platform to platform.

Compteurs GPUGPU counters

La prise en charge des compteurs matériels GPU varie en fonction du matériel.Support for GPU hardware counters is hardware-dependent.

Comme aucun des GPU d'ordinateur actuellement proposés par Intel, AMD ou nVidia n'assure une prise en charge sûre des compteurs matériels GPU, l'analyse des frames ne collecte pas de données des compteurs de ces matériels.Because no computer GPU currently offered by Intel, AMD, or nVidia supports GPU hardware counters reliably, Frame Analysis doesn't collect counters from them. Toutefois, l’analyse des frames collecte des compteurs matériels à partir de la GPU suivant, qui les prend en charge fiable :However, Frame Analysis does collect hardware counters from the following GPU, which reliably supports them:

  • nVidia T40 (Tegra4)nVidia T40 (Tegra4)

    Aucune autre plateforme prenant en charge l'analyse des frames n'assure de collecte auprès des compteurs matériels GPU.No other platform that supports Frame Analysis collects GPU hardware counters.

Note

Dans la mesure où les compteurs matériels GPU sont des ressources matérielles, plusieurs passages peuvent être nécessaires pour collecter l'ensemble des compteurs matériels pour chaque variante de rendu.Because GPU hardware counters are hardware resources, it can take multiple passes to collect the complete set of hardware counters for each rendering variant. Ainsi, l'ordre dans lequel les compteurs GPU sont collectés n'est pas spécifié.As a result, the order in which GPU counters are collected is unspecified.

Scénarios non pris en chargeUnsupported scenarios

Certains modes d'utilisation de l'analyse des frames ne sont pas pris en charge ou sont simplement déconseillés.Certain ways of using frame analysis are unsupported or are just a bad idea.

Lecture de captures d’un niveau de fonctionnalité élevé sur des appareils moins élaborésPlayback of high-feature-level captures on down-level devices

Dans Graphics Analyzer, quand vous lisez un fichier journal de graphisme qui utilise un niveau de fonctionnalité trop élevé pour l'ordinateur de lecture, il repasse automatiquement à WARP.In Graphics Analyzer, when you play back a graphics log file that uses a higher feature level than the playback machine supports, it automatically falls back to WARP. Dans l'analyse des frames, il ne repasse pas explicitement à WARP et une erreur est générée (si WARP est utile pour examiner la justesse de votre application Direct3D, il ne l'est pas pour examiner ses performances).In Frame Analysis it explicitly does not fall back to WARP and it generates an error—WARP is useful for examining the correctness of your Direct3D app, but not for examining its performance.

Note

Bien qu’il soit important de ne pas perdre de vue les problèmes de niveau de fonctionnalité, vous pouvez capturer et lire les fichiers journaux de graphisme sur des configurations matérielles et des appareils différents.Although it's important to keep the feature-level issues in mind, you can capture and play back graphics log files on different hardware configurations and devices. Le journal de graphisme peut être lu tant que le fichier journal ne contiennent des API ou utiliser des niveaux de fonctionnalité qui ne sont pas pris en charge sur l’ordinateur de lecture.The graphics log can be played back as long as the log file doesn't contain APIs or use feature levels that aren't supported on the playback machine.

Direct3D version 10 et inférieureDirect3D 10 and lower

Si votre application appelle l'API Direct3D 10, l'analyse des frames ne reconnaîtra ni ne profilera ces appels, même s'ils sont reconnus et utilisés par d'autres outils Graphics Analyzer.If your app calls the Direct3D 10 API, Frame Analysis won't recognize or profile them even though they're recognized and used by other Graphics Analyzer tools.

Note

Cela vaut uniquement pour les appels d’API Direct3D que vous utilisez, et non aux niveaux de fonctionnalité.This applies only to the Direct3D API calls that you're using, not feature levels.

WARPWARP

L'analyse des frames vise à profiler et à améliorer les performances de rendu sur du vrai matériel.Frame analysis is intended to be used to profile and improve rendering performance on real hardware. Analyse des frames en cours d’exécution sur des appareils WARP n’est pas interdite, mais il est généralement pas payant d’insister car l’exécution sur une UC haut de gamme de WARP est plus lente que même les moins performant des GPU actuels, et les performances de WARP peuvent varier considérablement en fonction de l’UC Il s’exécute sur.Running frame analysis on WARP devices isn't prevented, but it's not usually a worthwhile pursuit because WARP running on a high-end CPU is slower than even the least-capable modern GPUs, and because WARP performance can vary greatly depending on the particular CPU it's running on.

VariantesVariants

Chaque modification de l’analyse des frames permet à la façon dont un frame est affiché pendant la lecture est appelée un variante.Each change that Frame Analysis makes to the way a frame is rendered during playback is known as a variant. Les variantes examinées par l‘analyse des frames correspondent à des modifications courantes et relativement simples que vous pourriez apporter pour améliorer les performance de rendu ou la qualité visuelle de votre application (par exemple, en réduisant la taille des textures, en utilisant la compression de texture ou en autorisant différents types d‘anticrénelage).The variants that Frame Analysis examines correspond to common, relatively easy changes that you could make to improve the rendering performance or visual quality of your app—for example, reducing the size of textures, using texture compression, or enabling different kinds of anti-aliasing. Les variantes substituent le contexte et les paramètres de rendu habituels de votre application.Variants override the usual rendering context and parameters of your app. Voici un résumé :Here's a summary:

VarianteVariant DescriptionDescription
Taille de fenêtre d’affichage 1 x 11x1 Viewport Size Réduit les dimensions de la fenêtre d'affichage sur toutes les cibles de rendu à 1x1 pixels.Reduces the viewport dimensions on all render targets to 1x1 pixels.

Pour plus d’informations, consultez variante de taille Viewport 1 x 1For more information, see 1x1 Viewport Size Variant
0 MSAA0x MSAA Désactive l‘anticrénelage MSSA (Multi-Sample Anti-Aliasing) sur toutes les cibles de rendu.Disables multi-sample anti-aliasing (MSAA) on all render targets.

Pour plus d’informations, consultez 0 x / 2 x / 4 MSAA variantesFor more information, see 0x/2x/4x MSAA Variants
2 MSAA2x MSAA Active l‘anticrénelage MSSA (Multi-Sample Anti-Aliasing) 2x sur toutes les cibles de rendu.Enables 2x multi-sample anti-aliasing (MSAA) on all render targets.

Pour plus d’informations, consultez 0 x / 2 x / 4 MSAA variantesFor more information, see 0x/2x/4x MSAA Variants
4 MSAA4x MSAA Active l‘anticrénelage MSSA (Multi-Sample Anti-Aliasing) 4x sur toutes les cibles de rendu.Enables 4x multi-sample anti-aliasing (MSAA) on all render targets.

Pour plus d’informations, consultez 0 x / 2 x / 4 MSAA variantesFor more information, see 0x/2x/4x MSAA Variants
Filtrage de Texture de pointPoint Texture Filtering Définit le mode de filtrage DXD11_FILTER_MIN_MAG_MIP_POINT (filtrage de texture de point) pour tous les échantillons de texture appropriés.Sets the filtering mode to DXD11_FILTER_MIN_MAG_MIP_POINT (point texture filtering) for all appropriate texture samples.

Pour plus d’informations, consultez Point, bilinéaire, trilinéaire et ANISOTROPIQUE variantes de filtrage de Texture.For more information, see Point, Bilinear, Trilinear, and Anisotropic Texture Filtering Variants.
Filtrage de Texture bilinéaireBilinear Texture Filtering Définit le mode de filtrage DXD11_FILTER_MIN_MAG_LINEAR_MIP_POINT (filtrage de texture bilinéaire) pour tous les échantillons de texture appropriés.Sets the filtering mode to DXD11_FILTER_MIN_MAG_LINEAR_MIP_POINT (bilinear texture filtering) for all appropriate texture samples.

Pour plus d’informations, consultez Point, bilinéaire, trilinéaire et ANISOTROPIQUE variantes de filtrage de Texture.For more information, see Point, Bilinear, Trilinear, and Anisotropic Texture Filtering Variants.
Filtrage de Texture trilinéaireTrilinear Texture Filtering Définit le mode de filtrage DXD11_FILTER_MIN_MAG_MIP_LINEAR (filtrage de texture trilinéaire) pour tous les échantillons de texture appropriés.Sets the filtering mode to DXD11_FILTER_MIN_MAG_MIP_LINEAR (trilinear texture filtering) for all appropriate texture samples.

Pour plus d’informations, consultez Point, bilinéaire, trilinéaire et ANISOTROPIQUE variantes de filtrage de Texture.For more information, see Point, Bilinear, Trilinear, and Anisotropic Texture Filtering Variants.
Filtrage de Texture ANISOTROPIQUEAnisotropic Texture Filtering Définit le mode de filtrage DXD11_FILTER_ANISOTROPIC et MaxAnisotropy à 16 (16 x filtrage de texture ANISOTROPIQUE) pour tous les échantillons de texture appropriés.Sets the filtering mode to DXD11_FILTER_ANISOTROPIC and MaxAnisotropy to 16 (16x anisotropic texture filtering) for all appropriate texture samples.

Pour plus d’informations, consultez Point, bilinéaire, trilinéaire et ANISOTROPIQUE variantes de filtrage de Texture.For more information, see Point, Bilinear, Trilinear, and Anisotropic Texture Filtering Variants.
Format de cible de rendu 16 BPP16bpp Render Target Format Définit le format de pixel DXGI_FORMAT_B5G6R5_UNORM (format 16 bpp, 565) pour toutes les cibles de rendu et tous les mémoires tampons d'arrière-plan.Sets the pixel format to DXGI_FORMAT_B5G6R5_UNORM (16bpp, 565 format) for all render targets and backbuffers.

Pour plus d’informations, consultez 16 BPP restituer variante de Format cibleFor more information, see 16bpp Render Target Format Variant
Génération de mipmapsMip-map Generation Active les mipmaps sur toutes les textures qui ne sont pas des cibles de rendu.Enables mip-maps on all textures that are not render targets.

Pour plus d’informations, consultez variante de génération mipmap.For more information, see Mip-map Generation Variant.
Dimensions de Texture moitiéHalf Texture Dimensions Réduit les dimensions de toutes les textures qui ne sont pas des cibles de rendu à la moitié de leur taille d'origine dans chaque dimension.Reduces the texture dimensions on all textures that are not render targets to half of their original size in each dimension. Par exemple, une texture de 256 x 128 est réduite à 128 x 64 texels.For example, a 256x128 texture is reduced to 128x64 texels.

Pour plus d’informations, consultez variante de Dimensions de Texture variante.For more information, see Half/Quarter Texture Dimensions Variant.
Dimensions de Texture un quartQuarter Texture Dimensions Réduit les dimensions de toutes les textures qui ne sont pas des cibles de rendu à un quart de leur taille d'origine dans chaque dimension.Reduces the texture dimensions on all textures that are not render targets to a quarter of their original size in each dimension. Par exemple, une texture de 256 x 128 est réduite à 64 x 32 texels.For example, a 256x128 texture is reduced to 64x32 texels.

Pour plus d’informations, consultez variante de Dimensions de Texture variante.For more information, see Half/Quarter Texture Dimensions Variant.
Compression de Texture BCBC Texture Compression Active la compression de bloc sur toutes les textures ayant une variante de format de pixel B8G8R8X8, B8G8R8A8 ou R8G8B8A8.Enables block compression on all textures that have a B8G8R8X8, B8G8R8A8, or R8G8B8A8 pixel format variant. Les variantes de format B8G8R8X8 sont compressées à l'aide de BC1 ; les variantes de format B8G8R8A8 et R8G8B8A8 sont compressées à l'aide de BC3.B8G8R8X8 format variants are compressed by using BC1; B8G8R8A8 and R8G8B8A8 format variants are compressed by using BC3.

Pour plus d’informations, consultez variante de Compression de Texture BC.For more information, see BC Texture Compression Variant.

Le résultat pour la plupart des variantes est prescriptif : « Une réduction de la taille de texture de moitié offre 25 % de rapidité en plus » ou « Le ralentissement résultant de l'activation de MSAA 2x n'est que de 2 % ».The result for most variants is prescriptive: "Reducing texture size by half is 25 percent faster" or "Enabling 2x MSAA is only 2 percent slower". Les autres variantes peuvent nécessiter une interprétation. Par exemple, si la variante qui a fait passer les dimensions de la fenêtre d'affichage à 1x1 donne lieu à un gain de performances important, cela peut indiquer que le rendu est bloqué par un faible taux de remplissage ; en revanche, s'il n'y a pas de changement significatif sur le plan des performances, cela peut indiquer que le rendu est bloqué par le traitement des sommets.Other variants might require more interpretation—for example, if the variant that changes the viewport dimensions to 1x1 shows a large performance gain, it might indicate that rendering is bottlenecked by a low fill rate; alternatively, if there's no significant change in performance, it might indicate that rendering is bottlenecked by vertex processing.