Dela via


Om GPUView

GPUView (GPUView.exe) är ett verktyg för prestandaanalys som hjälper utvecklare att analysera GPU- och CPU-aktivitet i Windows-system. Det är användbart för att diagnostisera prestandaproblem i grafikintensiva program, till exempel spel eller multimediaprogram. Det är installerat tillsammans med Windows Performance Toolkit (WPT).

  • Video Core-utvecklare kan använda GPUView för att fastställa prestanda för GPU och CPU när det gäller DMA-buffertbearbetning och all annan videobearbetning på videomaskinvaran.
  • Utvecklare och testare kan använda GPUView för att visa olika typer av händelser som kan leda till ovanliga tillstånd som problem, förberedelsefördröjningar och dålig synkronisering.

GPUView läser loggade video- och kernelhändelser från en händelsespårningslogg (.etl) och visar data grafiskt för användaren.

Snabbstart för att använda GPUView

Om du vill använda GPUView måste du först generera en spårning. Så här gör du:

  1. Öppna en kommandotolk med administratörsbehörighet:

    • Skriv "Kommandotolk" i sökrutan på Start-menyn.
    • Högerklicka på kommandotolkens ikon och välj Kör som administratör.
  2. I den upphöjda kommandotolken går du till katalogen GPUView och skriver följande kommando:

    Log.cmd

  3. Återskapa prestandaproblemet (högst 30 sekunder till 1 minut). Skriv sedan om samma kommando:

    Log.cmd

    Det här kommandot genererar flera händelsespårningar för Windows (*. ETL)-filer. Dessa olika strömmar sammanfogas alla till en enda fil som heter Merged.etl, vilket är vad GPUView läser.

  4. Använd GPUView för att visa den resulterande filen Merged.ETL.

Några exempel på loggade händelser är:

  • Alla CPU-kontextväxlar, inklusive stackspårningen och orsaken till växlingen.
  • Alla inträden i och utträden ur kernel-läge och stackspårningen.
  • Alla GPU-händelser som registrerats av DirectX-grafikkärnan, inklusive alla inskickade kommandobuffertar och resursskapande, förstörelse, lås och bindningshändelser.
  • Händelser som rapporterats av grafikdrivrutinen, till exempel start- och sluttider för kommandobuffer och som lodräta synkroniseringsintervall för varje adapter.
  • Många andra systemhändelser som kan påverka prestanda, till exempel sidfel.

Du kan också läsa ETL-filer med XPerf; Den förstår dock inte någon av de GPU-specifika händelserna. Eftersom dessa loggfiler kan vara relativt stora kan du använda kommandot Log m i stället, vilket hoppar över många av de högfrekventa händelserna.

Mer information finns på Matthew Fishers webbplats, Matts Webcorner, där han talar om att skapa GPUView.