Syntaxe
Paramètres
Token _In_Type : D3D12XBOX_FRAME_PIPELINE_TOKEN Jeton de pipeline qui identifie la trame concernée. TypeSet _In_ Type : D3D12XBOX_FRAME_STATISTICS_TYPE Combinaison d’indicateurs de type qui identifient les statistiques à récupérer. pCount _Inout_ Type : UINT* Pointeur vers une valeur qui spécifie la taille, en nombre d’entrées, de la liste pStatistics. Au retour, la valeur est mise à jour pour contenir le nombre d’entrées écrites dans la liste. pStatistics _Out_
Type : D3D12XBOX_FRAME_STATISTICS* Pointeur vers le premier élément d’un tableau de statistiques de trame. Au retour, les statistiques interrogées des types spécifiés sont écrites dans le tableau.
Valeur de retour
Type : HRESULT Code de réussite ou d’erreur HRESULT. Retourne S_OK si un ou plusieurs ensembles de statistiques des types demandés sont disponibles (et retournés, dans la limite de l’espace de la liste). Retourne S_FALSE si aucune des statistiques demandées n’est encore disponible. Retourne E_INVALIDARG en cas de jetons de pipeline de trame inconnus, d’ensembles de types non valides et d’agencements de liste non valides.Remarques
Bien que les statistiques puissent être interrogées pour n’importe quel jeton de pipeline de trame valide, le runtime conserve actuellement un historique limité aux 17 dernières trames. Toute trame dont l’origine remonte à plus de 17 intervalles n’aura aucune statistique disponible, et les statistiques interrogées pour celle-ci retourneront S_FALSE. Les types demandés ne retournent également aucune statistique si leurs événements de trame associés ne se sont pas encore produits et que les statistiques ne sont donc pas disponibles. (Un exemple d’événement de trame associé est une requête qui inclut la spécification de D3D12XBOX_FRAME_STATISTICS_TYPE_DISPLAY avant que la trame n’ait été effectivement basculée vers l’affichage.) Une requête de statistiques peut retourner plusieurs entrées par type inclus dans l’ensemble demandé. Voici quelques exemples de statistiques multiples :- PRESENT, RENDER et DISPLAY lorsqu’une trame apparaît sur plusieurs plans d’affichage
- FRAME_EVENT DISPLAY_VBLANK lorsque plusieurs événements VBlank se produisent au cours de la trame
- INPUT lorsque plusieurs requêtes d’entrée sont effectuées pour le compte de la trame
- L’origine et la requête d’entrée de manette pour la trame : FRAME_EVENT_STATISTICS::SignalTime et INPUT_STATISTICS::QueryTime
- L’écriture finale dans les ressources d’échange de la trame et l’appel pour les présenter : RENDER_STATISTICS::FrameCompleteTime et PRESENT_STATISTICS::PresentCallTime
- L’appel PresentX et le basculement des ressources vers l’affichage : PRESENT_STATISTICS::PresentCallTime et DISPLAY_STATISTICS::FlipTime
