Frame DebuggerFrame Debugger
The frame Debugger lets you freeze playback for a running game on a particular Frame and view the individual Draw calls that is used to the render that frame. As well as listing the Drawcalls, the debugger also lets you step through them one-by-one so you can see in great detail H ow the scene is constructed from its graphical elements.
The frame debugger lets you freeze playback of a frame in a running game and then look at that frame of the rendered draw calls. Like the draw calls, the frame debugger also allows you to debug frames by frame, so you can see a lot of detail about how the scene is built from its graphical elements.
Using the Frame Debuggerusing the Frame debugger
The Frame Debugger window (menu: window > Frame Debugger) shows the Drawcall information and lets you control The "playback" of the frame under construction.
The Frame Debugger window (menu: Window > Frame Debugger) Displays drawcall information and allows you to control the "playback" of the build process frame.
The main list shows the sequence of Drawcalls (and other events such as framebuffer clear) in the form of a hierarchy that ID Entifies where they originated from. The Panel to the right of the list gives further information about the Drawcall such as the geometry details and the shade R used for rendering.
The main list displays the Drawcalls sequence (and other events such as frame buffer cleanup) in the original organizational structure of the resource, and the Panel on the right side of the list shows more detailed information about Drawcall, such as geometry details and shaders used for rendering.
clicking on a item from the list would show the scene (in the Game view) as it appears up to and including that Drawcall. The left and right arrow buttons in the toolbar move forward and backward in the list by a single step and you can also u Se the arrow keys to the same effect. Additionally, the slider at the top of the Windows lets you "scrub" rapidly through the Drawcalls-locate an item of inte Rest quickly. Where a drawcall corresponds to the geometry of a gameobject, that object would be highlighted in the main Hierarchy panel To assist identification.
Click an entry in the list, Will (in the game view) show the scene and its drawcall as it appears. The left and right arrow buttons in the toolbar can forward or back to the selected entries in the list, using
if rendering happens into a rendertexture on the selected draw call, then contents of that render texture is displayed I N The game View. This is useful-inspecting how various off-screen render targets be built up, for example diffuse g-buffer in deferred Shading:
if the selected Drawcall is rendered to texture (rendertexture), the image of the rendered texture is displayed in the game view. This is useful for checking how various off-screen render targets are created, such as scattering object buffering (G-buffer,Geometry buffer), which is delayed coloring.
Or looking at how the shadow maps is rendered: or see below How the Shadows are rendered:
Render target Display Optionsrender target display options
At the top of the information Panel are a toolbar which lets you isolate the red, green, blue and alpha channels for the CU Rrent State of the Game view. Similarly, you can isolate areas of the view according to brightness levels using the levels slider to the right Of these channel buttons. These is only enabled when the rendering into a rendertexture.
The top of the info panel is a toolbar that allows you to detach the red, green, blue, and transparent channels of the current state of the game view. Similarly, you can use the Level slider on the right side of the channel button to separate the field of view based on the brightness level. This is only possible when rendering to textures.
When rendering into multiple render targets at once you can select which one to display in the game view. Shown here is the diffuse, specular, normals and Emission/indirect lighting buffers in 5.0 deferred shading mode, respect Ively:
When rendering to multiple render targets at once, you can choose which one to display in the game view. The following views are scatter, specular, normal, and emission or non-linear light for Unity 5.0 Deferred Shading mode:
Additionally, you can see the depth buffer contents by picking ' depth ' from the dropdown:
In addition, you can see the depth cache content by selecting "Depth" from the drop-down menu:
By isolating alpha channel of the render texture, you can see occlusion (stored in RT0 Alpha) and smoothness (stored in RT 1 alpha) of the deferred G-buffer:
By separating the transparent channels rendered into the texture, you can see the closed (RT0 transparent channels ) and smoothing (in the RT1 transparent channel) of the deferred G-buffer:
The emission and ambient/indirect lighting in this scene are very dark; We can make it more visible by changing the Levels slider:
The emitted light and ambient light in this scene are very dark, and we can make it more visible by sliding the level scroll bar:
Alternative frame Debugging techniquesadditional frame debugging techniques to choose from:
you could also use external tools to debug rendering. Build a standalone player, run it through visual Studio graphics Debugger, intel gpa, renderdoc, NVIDIA nsight oramd GPU Perfstudio, then capture a frame of rendering, and step through the draw calls and other rend ering events to see "s going on.
intel GPA renderdoc nvidia Nsight or AMD GPU perfstudio run, then grab a frame of the render, and step through the draw calls and other rendering events to see what happened.
This was a very powerful approach, since these tools can provide you and a lot of information to really drill down.
because these tools provide a lot of information that really goes through each draw call, it's very powerful.
"Graphics performance optimization-Frame Debugger" translations for the official Unity document