Performance troubleshooting with Quad Overdraw in Unreal Engine 4

If you are interested to know in what impact your modeling technique has on the performance in the game environment and how to go through performance troubleshooting with Quad Overdraw in Unreal Engine 4? Seems like you are in the right place. Today’s GPUs and CPUs can capture much more than they did years ago. Currently games shows how they push the limits. More and more elements, games are becoming bigger with more photorealistic details. But that does not mean the limitations are over. It turns out that not only importance is the number of triangles that your object holds, but their shape and size.

Polygon – Wikipedia

Definition of a Polygon

polygon is any 2-dimensional shape formed with straight lines. Triangles, quadrilaterals, pentagons, and hexagons are all examples of polygons. The name tells you how many sides the shape has. For example, a triangle has three sides, and a quadrilateral has four sides. So, any shape that can be drawn by connecting three straight lines is called a triangle/tris, and any shape that can be drawn by connecting four straight lines is called a quadrilateral or quads in short term. Keep in mind that game engine is triangulating each quad on your imported mesh.

Quad Overdraw

When multiple polygons are all overlapping and being rendered within the same quad on the graphics processing unit, the performance of the scene will suffer as these renders are calculated and then unused. This issue is caused by the complexity of the meshes and the distance they are from the camera; the smaller the visible triangles of a mesh, the more are within a quad. So the triangle count itself is actually not a problem very often. Quite contrary to the popular opinion, the triangle count by itself doesn’t matter It’s much more important to avoid small and thin and long triangles.

An unexpected source of performance issues is the so called quad overdraw. This is the reason why small polygons waste GPU time. In this case, a “quad” means a block of 4 pixels (2 by 2). And most of the operations on the GPU when it comes to pixel shading are done on full quads or even bigger tiles, like 8×8. Not on single inpidual pixels. It’s easier for the GPU, or sometimes necessary, to perform operations on bigger tiles and only then discard unnecessary pixels. So the discard pixels are basically wasted. As you can imagine, the smaller the triangle, or more thin the triangle, the bigger the problem.

Intel Software

Good practice

Always a good practice is to check your model after importing to UE4 against the quad overdraw density. 
among the others tools and view modes Unreal’s developers provided for us a tool to visualize quad overdraw .

How to Find Quad Overdraw Mode?

It is easy to find and use it. From View Modes drop down menu select Lit -> Optimization Viewmodes -> Quad Overdraw.

  • Lit Mode
  • Quad Overdraw Mode

Colors Meaning

Meaning of colors.

Use level of detail for that to control this and again you can use provided tools to make LODs in UE4. Try to keep polygons big and even in screen space. Inspect the object from your camera, in editor, from your game, not just in the 3D package or your modeling software. Also see reference blow to get wider spectrum and other tools and techniques.

Warth to remember

  • Big and even polygons better then small, thin, long triangles.
  • Inspect object in game editor.
  • Check quad overdraw using in build tools.
  • Use LODs.

Subscribe

Hit this Red Bell in the left bottom corner of your screen to stay up to date and always receive new content . Thank you!

REFERENCE:

gg