Contents
Unreal Engine 5.8 · System guide
Rendering Performance
Diagnose and optimize Unreal rendering cost
On this page
Choose a task
Choose an approach
Build and understand
Budgets and baselinesOpen reference →GPU memory and render resourcesOpen reference →Lumen GI and reflectionsOpen reference →Materials, translucency, and overdrawOpen reference →MegaLightsOpen reference →Nanite geometryOpen reference →Resolution, TSR, and Dynamic ResolutionOpen reference →Scalability and device profilesOpen reference →Submission, culling, and LODsOpen reference →Symptom recipesOpen reference →Virtual Shadow MapsOpen reference →
Troubleshoot
Workflow and boundaries
Use these checks when a task crosses several systems. The focused references above contain the specific actions.
Start from measured evidence
Use unreal-insights-profiling first when no trustworthy bound/pass/capture exists. Read
references/diagnostic-selector.md and
references/budgets-and-baselines.md.
- Lock target hardware, renderer, resolution, quality tier, scene/camera, and frame budget.
- Identify whether the cost is Render/RHI-thread submission, GPU pass time, GPU memory, or a hitch.
- Name the largest measured pass/resource/submission category and its millisecond or byte cost.
- Use the subsystem visualization/stats to locate causal content or settings.
- Choose the least destructive lever that changes the measured cost: visibility, workload count, quality, resolution, representation, update frequency, or feature path.
- Change one lever, capture the identical workload, and compare cost plus visual/gameplay impact.
- Encode approved changes in scalability/device profiles and test every supported tier.
Load only what applies:
references/resolution-tsr-and-dynamic-resolution.mdreferences/nanite-geometry.mdreferences/lumen-and-reflections.mdreferences/virtual-shadow-maps.mdreferences/megalights.mdreferences/materials-translucency-and-overdraw.mdreferences/submission-culling-and-lods.mdreferences/scalability-and-device-profiles.mdreferences/gpu-memory-and-resources.mdreferences/symptom-recipes.md
Hard rules
- Do not prescribe renderer CVars from symptoms alone; require a measured pass or bounded experiment.
- Do not compare GPU captures at different resolution, screen percentage, camera, or warm/cold state.
- Optimize milliseconds, not triangle/draw-call/instruction counts in isolation.
- Treat editor view modes and visualization overlays as diagnostic overhead; disable them for final timing.
- Preserve gameplay readability and fairness across tiers; scalability must not hide actionable content.
- Prefer scalability groups and device profiles over scattered runtime CVars.
- Treat Lumen Lite as Beta in UE 5.8 and Primitive Debugger/Nanite Foliage as Experimental.
- MegaLights is Production Ready in UE 5.8, but its quality still degrades as per-pixel light complexity exceeds its fixed sampling budget.
- Nanite does not make materials, masked overdraw, WPO, shadows, streaming, or storage free.
- Dynamic resolution mitigates GPU spikes; it does not repair a CPU/render-thread bottleneck.
- Preserve a supported fallback for target platforms that lack Nanite/Lumen/TSR/hardware ray tracing.
See references/sources.md for the UE 5.8 primary-source trail.
Version and evidence
Targets Unreal Engine 5.8 documentation. This label does not establish that every procedure was tested in an editor or packaged build.
Read the documentation sources and verification notes →