User Tools

Site Tools


hpl3:engine:graphics_debug

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
hpl3:engine:graphics_debug [2013/01/25 11:55]
nebej [Light Overdraw]
hpl3:engine:graphics_debug [2015/09/17 10:54] (current)
ian.thomas [Debug texts]
Line 1: Line 1:
-====== ​ ======+====== ​Graphics Debug ======
  
  
Line 13: Line 13:
 ===== Debug texts ===== ===== Debug texts =====
  
- +The important checkboxes here are Show FPS, Show Memory Usage and Show Render Info. These will tell you how costly the rendering of the scene is.
-The important checkboxes here are Show FPS, Show Memory Usage and Show Render Info. These will tell you how costly +
- +
- +
-the rendering of the scene is. +
  
 ==== Show FPS ==== ==== Show FPS ====
Line 42: Line 37:
     * **Queries**:​ A special draw call used to check if an object is occluded. It is more expensive than a draw call.     * **Queries**:​ A special draw call used to check if an object is occluded. It is more expensive than a draw call.
 ===== Graphics Debug ===== ===== Graphics Debug =====
 +
 +
 +To be able to find which parts of the scene that takes up the most performance you can use these special render modes.
  
  
Line 47: Line 45:
  
  
-{{:​hpl3:​engine:​occlusion_preview.png?​2560x720}}+Pauses the occlusion culling and renders the scene with the occlusion culling from before the checkbox was ticked. This is used to see how effective the occlusion culling is in the specific scene. After activating this you can press F7 to fly around and look at the scene from another angle to see where the culling fails. Activating this will disable rendering of translucent objects since they can be unstable.
  
 +
 +{{:​hpl3:​engine:​occlusion_preview.png?​nolink&​2560x720}}
 +
 +
 +In the image to the left you can see what the player can see. It looks like only a few walls, some lockers and a door is rendered. On the right the camera has been moved back and it is now possible to see all the objects that get rendered this frame. There are a lot more than what it looks like in the left picture.
  
 ==== GBuffer ==== ==== GBuffer ====
  
  
-{{:​hpl3:​engine:​g_buffer.png?​1280x720}}+Shows what the frame buffers look like. These are then used by the lights to shade the scene. It can be used to check if a model has incorrect textures or normals. 
 + 
 + 
 +{{:​hpl3:​engine:​g_buffer.png?​nolink&1280x720}}
  
  
 ==== Light Complexity ==== ==== Light Complexity ====
 +
 +
 +Light complexity shows how expensive the lighting of a scene is. It creates a heatmap on the screen to show how much power each light takes. Overdraw of light is not very expensive, it is about twice as expensive as a translucent object. When the light has a shadow map it becomes much more expensive. The complexity of a shadow casting light is based on how many draw calls and triangles are required to generate the shadow map.
  
  
 {{:​hpl3:​engine:​light_complexity.png?​nolink&​1280x360}} {{:​hpl3:​engine:​light_complexity.png?​nolink&​1280x360}}
 +
 +
 +The red areas on the right image is not good. There seem to be multiple large (in screen space) shadow casting lights in this scene.
  
  
 {{:​hpl3:​engine:​light_complexity_no_shadows.png?​nolink&​640x360}} {{:​hpl3:​engine:​light_complexity_no_shadows.png?​nolink&​640x360}}
 +
 +
 +To test if most of the complexity comes from shadows you can toggle the "Draw Shadows"​ checkbox on the Debug Menu. Here is what the scene complexity looks like without shadows.
 +
  
 ==== Overdraw ==== ==== Overdraw ====
  
  
-{{:​hpl3:​engine:​translucent_overdraw.png?​1280x360}}+Creates a heatmap that shows how much translucent overdraw each pixel receives. Overdraw is how many times a pixel gets rendered to. The goal should be that no part of the screen is red. It does not matter that much if only a small part is. 
 + 
 + 
 +    * Green: 0-16 
 +    * Yellow: 16-32 
 +    * Red: 32-48+ 
 + 
 + 
 +{{:​hpl3:​engine:​translucent_overdraw.png?​nolink&1280x360}} 
 + 
 + 
 +On the left you can see the scene rendered normally. The fog particles are barely visible here. On the right the pixel overdraw is rendered. The red areas show that more than 32 translucent planes are rendered, which is not good.
  
hpl3/engine/graphics_debug.1359114925.txt.gz · Last modified: 2013/01/25 11:55 by nebej