Pane: API Log

The API Log pane consists of the following items:

  • API Log toolbar
  • API Log tab
  • Pixel History tab
  • Resource History tab
  • Frame Statistics tab

API Log Toolbar

Use the API Log toolbar to manage the API Log panel:

  • Type Filter Expression field - filters graphics API functions by name or parameters. Saves previous search keywords. You can use the Type Filter Expression field, to find specific events by running Graphics Frame Analyzer plugins.
  • Show Call Arguments button - shows graphics API function arguments in the API Log tab next to function names.
  • Full API Log button - displays in the API Log tab all functions used in the frame, in the call order.

NOTE

By default, the API Log tab shows only graphics API functions that produce any GPU activity, such as draw calls or clear calls. These graphics API functions are also called "events".

  • Collapse All Groups button - closes all the groups in the API Log tab, if available.
  • Export API Log button - saves the API log in CSV format. You can also save the API log by pressing Ctrl+S.

API Log Tab

Use the API Log tab to review the following frame data:

  • List of all functions, in the GPU execution order
  • Parameters passed to each function

TIP

To facilitate debugging, you can specify object labels for various resources in your application, such as textures, buffers, shaders, etc., by using special functions of graphics APIs. For OpenGL workloads, this feature is available starting from OpenGL 4.3 Core Profile. For earlier OpenGL/OpenGL ES versions, you can enable this feature in your application using the KHR_debug or EXT_debug_label extensions.

Graphics Frame Analyzer displays object labels in the API Log pane and Resource Viewer.

When you select an event in the Main bar chart, Graphics Frame Analyzer highlights the corresponding functions in the API Log tabs. For easier navigation, Graphics Frame Analyzer marks the functions that require your attention with colored bars. You can click the bar to navigate directly to the marked function:

• Green bars denote user-defined markers inserted in the application code or regions with the same render target or shader sets, etc. Grouping can be selected using the Group By drop-down button on the Visualization Settings toolbar.

• Blue bars mark the draw calls with modified states and shaders.

(OpenGL-specific) Orange bars denote functions that caused warnings.

(OpenGL-specific) Red bars denote functions that caused errors.

NOTE

When you select a function in the list, Graphics Frame Analyzer updates all other panes in Profiling View to reflect the state of the frame for the function call.

TIP

You can use Up/Down arrow keys or Page Up/Page Down keys to navigate between the displayed functions.

Pixel History Tab

The Pixel History tab shows only the events that contribute into the pixel, which the user specified in Resource Viewer.

To analyze pixel history, select the render target in Resource List and click the pixel you want to analyze in Resource Viewer. Graphics Frame Analyzer marks the selected pixel with a crosshair and filters the API calls to display only those events that affected this pixel. The colored boxes next to each call show the color written into framebuffer after the API call execution. If the call has been rejected at one of the pipeline stages, the box is displayed next to the call.

You can use Up/Down arrow keys or Page Up/Page Down keys to navigate between the displayed functions.

Resource History Tab

The Resource History tab shows only the events that use the resource, which the user selected from Resource List.

To enable resource history, double-click any resource in Resource List; or click the button; or choose any resource from the Select Resource drop-down list in the Resource History tab.

You can use Up/Down arrow keys or Page Up/Page Down keys to navigate between the displayed functions.

Frame Statistics Tab

The Frame Statistics tab shows the number of calls of each type in the frame.

You can use Up/Down arrow keys or Page Up/Page Down keys to navigate between the displayed functions.

 

For more complete information about compiler optimizations, see our Optimization Notice.