Visible to Intel only — GUID: GUID-6CEA6016-0263-42E4-904F-F5737D5BEE04
Visible to Intel only — GUID: GUID-6CEA6016-0263-42E4-904F-F5737D5BEE04
Run Render State Experiments with Frame Analyzer
Modify render states of Graphics API to isolate potential performance bottlenecks in your application by running experiments.
While in single frame view of Graphics Frame Analyzer, select a draw call from the Bar Chart and then look at the bottom of the Metrics panel where you can view different render state experiments you can apply to your selected call.
2x2 Textures
Apply the two by two texture override experiment to replace all textures for a selected event by a simple two by two texture, using a simple halftone or colorized bitmap. If applying this experiment to a draw call improves the framerate significantly and decreases GPU duration, it means that your game may be texture-bound and needs optimizing textures.
There are several ways to optimize your textures:
Reduce the size of your textures
Reduce the number of textures used in the scene
Reduce the texture filtering setting, specifically minimizing anisotropic filtering
Reduce the number of texture fetches in your shaders
Normal Picture |
Force 2x2 Texture |
---|---|
The Simple Pixel Shader
Replace every pixel/fragment shader with the pixel/fragment shader that writes a constant color to all render targets.
If applying this experiment significantly improves the frame rate, it means that the performance slowdown is caused by pixel shader computation and/or texture performance. Inspect your shaders further to identify and rework the most expensive calls to improve scene rendering performance.
Normal Picture |
Force Simple Pixel Shader |
---|---|
One by One Scissor Rect
One by One Scissor Rect Bypasses pixel processing from the rendering pipeline. If the frame rate does not increase with this experiment, complex geometry or vertex shader is a bottleneck. Using the resource viewer, you can analyze the geometry of your frame or experiment with shader code to locate and solve potential issues. If the GPU duration significantly increases, then rasterization is likely to be the bottleneck. It’s important to note that the effect of this experiment is driver and graphics hardware vendor-specific and depends on whether scissoring occurs prior to or after the pixel shader stage.
Disable Events Experiment
Prevents the selected events from rendering. This experiment can help you test scene efficiency.
Shading Rate Experiment
Adjust the shading rate for a specific resource using one of the available presets. With this experiment, you can identify objects that do not contribute meaningfully to the visual quality of the scene, such as distant objects.
By lowering the shading rate for such objects, you can trade off insignificant details for performance improvements. One example when an adjustment of the shading rate can help is a texture sampler bottleneck. Graphics Frame Analyzer allows you to adjust the shading rate dynamically and view the results and potential performance gains in real time to determine whether some detail can be sacrificed without a noticeable loss in quality.