About GPUView

GPUView (GPUView.exe) is a development tool that reads logged video and kernel events from an event trace log (.etl) file and presents the data graphically to the user.

  • Video core developers can use GPUView to determine the performance of the graphics processing unit (GPU) and the central processing unit (CPU) with regard to direct memory access (DMA) buffer processing (and all other video processing) on the video hardware.
  • Developers and testers can use GPUView to show different kinds of events that might lead to unusual conditions like glitches, preparation delays, and poor synchronization.

Quick start for using GPUView

To use GPUView, you'll first need to generate a trace. To do so:

  • Open a command prompt with administrative privilege:

    • Find Start->All Programs->Accessories->Command Prompt
    • Right click on the command prompt icon and select Run as Administrator.
  • Once at the command prompt, navigate to the GPUView directory and type the following command:


  • Reproduce the problem (no more than 30 seconds to 1 minute). Then retype the same command:


    This will generate several Event Tracing for Windows (*.ETL) files. These various streams will all be merged together into a single file called Merged.etl which is what GPUView reads.

  • Use GPUView to view the resulting Merged.ETL file.

Some examples of logged events are:

  • All CPU context switches, including the stack trace and the reason for switching.
  • All kernel mode enters and exits and the stack trace.
  • All GPU events as recorded by the DirectX Graphics Kernel, including all command buffer submissions, and resource creation, destruction, lock, and bind events.
  • Events reported by the graphics driver, such as command buffer start and end times, and vertical synchronization intervals for each adapter.
  • Many other system events that can affect performance, such as page faults.

You can also read ETL files with XPerf; however, it will not understand any of the GPU specific events. Because these log files can be relatively large, you can use the Log m command instead which will skip many of the very high frequency events.

More information, including how to download and use GPUView, can be found on Matthew Fisher's site, Matt's Webcorner, where he talks about creating GPUView.