Guides and Sample Code

Developer

Instruments User Guide

On This Page

GPU Driver Instrument

Overview

Instrument Description

This instrument samples GPU driver statistics.

Supported Platforms

iOS

OS X

Related Profiling Templates

OpenGL ES Analysis Profiling Template

Timeline Pane

The timeline pane displays the information based on the instrument’s Style configuration.

Record Settings

This instrument doesn’t have any record settings you can configure.

Display Settings

Click the Display Settings button (image: ../Art/instruments_displaysettings_button_inline_2x.png) in the inspector pane to customize the following display settings.

Sampling Rate

Set how often the instrument records information. The slider allows sampling from 1/10th of a second to 1 second in 1/10th of a second increments. The text field allows for other 1/10th increments. The default value is 1/10th of a second.

Track Display Settings

These settings control how information is displayed in the timeline pane.

Setting

Description

Options

Style

How information is presented.

  • Block Graph: Information is presented as a horizontal line until the information changes. The area under the line is filled by the statistic’s designated color.

Detail Pane Columns

Table Detail Type

The following table columns are available in the detail pane.

Column name

Definition

#

The sequence number.

Buffer Flip Count

The total number of buffer slips that the GPU performs.

Buffer Swap Count

The total number of buffer swaps that the GPU performs.

Client GL Wait Time

The amount of time, in nanoseconds, that the CPU waits while the client OpenGL driver waits for a hardware time stamp to arrive.

Command 2D Bytes Per Sample

The number of bytes sent using 2D graphics contexts during the sample period.

Command Bytes Per Sample

The number of bytes sent using all graphics contexts during the sample period.

Command GL Bytes Per Sample

The number of bytes sent using OpenGL contexts during the sample period.

Command Video Bytes Per Sample

The number of bytes sent using video contexts during the sample period.

Context 2D Count

The total number of 2D contexts in use on the GPU.

Context 2D Switch Count

The total number of context switches to a 2D context on the GPU.

Context CL Switch Count

The total number of switches to an OpenCL context on the GPU.

Context CL Count

The total number of OpenCL contexts in use on the GPU.

Context GL Count

The total number of OpenGL contexts in use on the GPU.

Context GL Switch Count

The total number of switches to an OpenGL context on the GPU.

Context Video Count

The total number of video contexts in use on the GPU.

Context Video Switch Count

The total number of switches to a video context on the GPU.

Data Buffer Count

The total number of extra OpenGL data buffers that have been allocated.

Data Bytes Per Sample

The total number of bytes used during the sample period.

Finish All 2D Wait Time

The amount of time, in nanoseconds, that the CPU waits for all GPU operations to complete and then to be idle.

Finish 2D Wait Time

The amount of time, in nanoseconds, that the CPU waits for all 2D commands issued on a single context to complete.

Finish CL Wait Time

The amount of time, in nanoseconds, that the CPU waits for all OpenCL commands issued on a single context to complete.

Finish GL Wait Time

The amount of time, in nanoseconds, that the CPU waits for all OpenGL commands issued on a single context to complete.

Finish Video Wait Time

The amount of time, in nanoseconds, that the CPU waits for all video commands issued on a single context to complete.

Free Command Buffer 2D Wait Time

The amount of time, in nanoseconds, that the CPU waits for a 2D command buffer to become available.

Free Command Buffer CL Wait Time

The amount of time, in nanoseconds, that the CPU waits for an OpenCL command buffer to become available.

Free Command Buffer GLWait Time

The amount of time, in nanoseconds, that the CPU waits for an OpenGL command buffer to become available.

Free Command Buffer Video Wait Time

The amount of time, in nanoseconds, that the CPU waits for a video command buffer to become available.

Free Context Buffer 2D Wait Time

The amount of time, in nanoseconds, that the CPU waits for a 2D context-switching buffer to become available.

Free Context Buffer CL Wait Time

The amount of time, in nanoseconds, that the CPU waits for an OpenCL context-switching buffer to become available.

Free Context Buffer GL Wait Time

The amount of time, in nanoseconds, that the CPU waits for an OpenGL context-switching buffer to become available.

Free Context Buffer Video Wait Time

The amount of time, in nanoseconds, that the CPU waits for a video context-switching buffer to become available.

Free Data Buffer GL Wait Time

The amount of time, in nanoseconds, that the CPU waits for an OpenGL data buffer to become available.

Free Data Buffer Wait Time

The amount of time, in nanoseconds, that the CPU waits for a data buffer to become available.

Free Surface Backing Wait Time

The amount of time, in nanoseconds, that the CPU waits for the back buffer to become available.

Free Surface Swap Buffer Wait Time

The amount of time, in nanoseconds, that the CPU waits for a surface buffer to become available.

Gart Cache Bytes

The minimum amount of data, in bytes, that a driver tries to keep mapped into an AGP graphics address remapping table.

Gart Free Bytes

The total number of free bytes in the AGP graphics address remapping table.

Gart Map In Bytes Per Sample

The number of bytes that are mapped into the AGP graphics address remapping table during the sample period.

Gart Map Out Bytes Per Sample

The number of bytes that are unmapped from the AGP graphics address remapping table during the sample period.

Gart Size Bytes

The total size, in bytes, of the AGP graphics address remapping table.

Gart Used Bytes

The total number of bytes mapped into the AGP graphics address remapping table.

Hardware Submit Wait Time

The amount of time, in nanoseconds, that the CPU waits before being able to submit a new batch of commands to the GPU.

Hardware Wait Time

The amount of time, in nanoseconds, that the CPU stalled while waiting on the GPU for any reason.

IO Surface Page In Bytes Per Sample

The number of bytes that are mapped to surface pages during the sample period.

IO Surface Page Out Bytes Per Sample

The number of bytes that are unmapped from surface pages during the sample period.

Orphaned Non Reusable Sys Memory Bytes

Orphaned Non Reusable Sys Memory Count

Orphaned Non Reusable Vid Memory Bytes

Orphaned Non Reusable Vid Memory Count

Orphaned Reusable Sys Memory Bytes

Orphaned Reusable Sys Memory Count

Orphaned Reusable Sys Memory Hit Rate

Orphaned Reusable Vid Memory Bytes

Orphaned Reusable Vid Memory Count

Orphaned Reusable Vid Memory Hit Rate

Recovery Count

The total number of recovery actions performed.

Remove From GART Wait Time

The amount of time, in nanoseconds, the CPU waits for the GPU to finish an operation on a buffer that needs to be removed from the graphics address remapping table.

Surface Copy In Wait Time

The amount of time, in nanoseconds, that the CPU waits for the GPU to become idle so that the CPU can page a surface in to VRAM.

Surface Copy Out Wait Time

The amount of time, in nanoseconds, that the CPU waits for the GPU to become idle so that the CPU can page a surface out of VRAM.

Surface Count

The total number of surfaces allocated by the GPU.

Surface Page In Bytes Per Sample

The number of bytes transferred due to surface page-on transactions during the sample period.

Surface Page Out Bytes Per Sample

The number of bytes transferred to surface page-off transactions during the sample period.

Surface Read Lock Idle Wait Time

The amount of time, in nanoseconds, that the CPU waits for the GPU to become idle so that the CPU may read from a surface.

Surface Set Shape Idle Wait Time

The amount of time, in nanoseconds, that the CPU waits for the GPU to become idle so that the CPU may change the dimensions of a surface.

Surface Write Lock Idle Wait Time

The amount of time, in nanoseconds, that the CPU waits for the GPU to become idle so that the CPU may write to a surface.

Swap Bytes Per Sample

The number of bytes sent by the swap command during the sample period.

Swap Complete 2D Wait Time

The amount of time, in nanoseconds, that the CPU waits for a previously issued 2D buffer swap to complete.

Swap Complete GL Wait Time

The amount of time, in nanoseconds, that the CPU waits for a previously issued OpenGL buffer swap to complete.

Swap Complete Video Wait Time

The amount of time, in nanoseconds, that the CPU waits for a previously issued video buffer swap to complete.

Texture Count

The total number of kernel textures allocated by the GPU.

Texture Page In Bytes Per Sample

The number of bytes transferred for texture page-ins during the sample. Does not include textures mapped using AGP.

Texture Page In Wait Time

The amount of time, in nanoseconds, that the CPU waits for a texture upload command to be completed by the GPU.

Texture Page Out Bytes Per Sample

The number of bytes transferred for texture page-off operations during the sample period.

Texture Page Out Wait Time

The amount of time, in nanoseconds, that the CPU waits for the GPU to finish an activity.

Texture Wait Time

The amount of time, in nanoseconds, that the CPU waits for a texture upload to complete before the buffer can be modified.

Volatile Surface Count

The total number of volatile surfaces allocated by the GPU.