RenderDoc is an [open source] ( https://github.com/baldurk/renderdoc ) graphics debugger currently available for Vulkan, D3D11, D3D12, OpenGL, and OpenGL ES development on Windows, Linux, Android, and Nintendo Switch TM. It is an adequate alternative to the Unity Frame Debugger on Linux, which suffers from a few limitations.

frame debugger

Renderdoc setup on Linux

Installation

  1. Download the build from here
  2. Unzip the tarball into /opt/renderdoc
  3. Add the grenderdoc binary to PATH

Launch

  1. Run grenderdoc to open the RenderDoc GUI

Frame capture with RenderDoc

1. Build the Unity app

Build the Unity project as a standalone executable

2. Launch the Unity app from RenderDoc

  1. Launch the RenderDoc GUI
  2. Open the Launch Application tab. (todo: clear RenderDoc and take a screenshot of the launch application tab). renderdoc launch app
  3. Fill in the path to the built app’s executable and launch the app. There should be an overlay on the Unity app displaying the frame count.

3. Capture a frame

  1. Click the Capture Frame(s) immediately button then click on the Unity app’s screen. This should create a ‘screenshot’ of the frame under Captures collected. captures collected

Additional information about frame capture can be found in the RenderDoc documentation .

Frame analysis with RenderDoc

Event Browser

The event browser displays a list of events that occurred within that frame, each event identified by an EID (or event id) that indicates which event or API call referred to when viewing the frame in chronological order. All the events listed (except for Capture Start) are ‘draw calls’; a count of this gives the number of draw calls within the frame. event browser

The documentation page expands on the Event Browser panel.

API Inspector

The API Inspector displays the individual API calls between the last event and the selected event; the last action always corresponds to the selected event. api inspector

The API Inspector does a whole [lot more](https://renderdoc. org/docs/getting_started/quick_start.html#api-inspector) than outlined in this blog post.

Statistics

  • Displays the number of draw and API calls.
  • Displays the number and size of the textures.

statistics