22 fps, 20 minutes: profiling triage

Mock Q10 · Pass, your strongest answer, with corrections · study plan 1.3 · 8 min

In one breath

Rule out settings, then measure, then fix. stat unit tells you which thread is the bottleneck: Game, Draw or GPU. Each has completely different causes and fixes. Don't guess "it's an artist's level so it's the GPU".

Step 1: the free stuff (2 minutes)

Step 2: stat unit: which thread?

Frame ≈BottleneckTypical causesFix direction
GameGame threadBlueprint Tick on hundreds of actors, heavy per-frame logicTick less (Tick), managers, move hot loops to C++
DrawRender thread, usually draw calls300 separate foliage actors; each shadow-casting light multiplying drawsInstancing (ISM/HISM/Nanite), merging, cull distances, fewer shadow casters
GPUGPUOverdraw (translucency), shader cost, Lumen settingsSimpler materials, static switches, Lumen quality

Foliage usually hits Draw before GPU. Your mock answer gave three causes, all on the GPU. The question wanted three bottlenecks.

Step 3: narrow it

Corrections worth remembering

40-second answer

"First I check it isn't a settings problem: scalability, screen percentage, standalone vs editor. Then stat unit with the frame cap off, to see whether Game, Draw or GPU is the bottleneck, because the fixes are completely different. Game thread means Tick and Blueprints, Draw means draw calls and instancing, GPU means overdraw, shader cost or Lumen. Then I narrow it with view modes and ProfileGPU if it's the GPU. With 20 minutes I'd go for the biggest reversible win, usually shadow casting or cull distances, and log the rest for after the milestone."

Do, don't just read

Run stat unit on a real level (WadOfGore once it has enemies), screenshot it, and be able to say which thread is bound and how you'd confirm it.

Quiz yourself

What's the first command, and what four numbers does it give?

stat unit: Frame, Game, Draw, GPU (plus RHIT and others in newer versions).

Frame ≈ Draw. What's the likely cause and fix?

Too many draw calls (many separate meshes, shadow-casting lights). Fix: instancing / merging / cull distances / fewer shadow casters.

Why turn off vsync before reading stat unit?

A frame cap pads the frame time, so the numbers don't show the real bottleneck.

Why can dense masked foliage still be expensive?

Masked materials break early-Z, so hidden pixels still get shaded. That's heavy quad overdraw.

Three light settings that matter more than point vs spot.

Mobility (movable?), cast shadows on/off, attenuation radius.

Name three optimisation view modes.

Shader Complexity, Quad Overdraw, Light Complexity (also Lightmap Density).