Technical Art . Technical Animation . Tools Development
Performance Profiling
Guidelines
Performance Goals
-
30 FPS - 60 FPS
Target Platforms
-
PC, PS5, XBox, Nintendo Switch
Minimum PC or Hardware Specs
TIPS
-
Figure out your minimum spec PC or Hardware!
-
Build your game and profile for each console early in development.
-
Setup performance benchmarks for each console
-
To help manage and maintain performance, set up art content best practice guidelines.
-
Set up nightly builds and level cameras to help capture overall performance.
-
Avoid testing performance in the editor. For accurate performance, profile standalone game builds.
-
Adjust render settings to help support lower and higher end PCs
-
Fix/Manage/Clean asset redirectors
-
Tools
-
RenderDoc
-
Pix
-
Statistics Tool
-
Session Frontend
-
Unreal Insights
Unreal Performance Commands
-
start fps
-
stat unit
-
stat gpu
-
stat scenerendering (Draw calls)
-
stat RenderThreadCommands
-
stat engine
-
stat streamingr.vsync 0
-
t.MaxFPS 1000
-
r.screenPercentage 10
-
stat unitGraph
-
r.ProfileGPU.ShowUIshow Staticmeshes
-
Stat StartFile
-
Stat StopFile
-
show SkeletalMeshes
-
show Particles
-
show Lighting
-
show DirectLighting
-
show Translucency
-
show ReflectionEnvironment
-
show Show AmbientOcclusion
-
show bones
Performance Checklist
-
Drawcalls (Too many object and material draws)
-
Nanite
-
Setup and adjust fallback meshes for complex collision and reflections
-
Avoid too many material instances. Build layered material, which can be applied to many static nanite assets to calculate fewer draw calls.
-
Nanite occlusion culling
-
-
Foliage density and material cost
-
Lights
- Lightmass settings
-
Lightmass importance volume
-
Light map resolution
-
Clear light build warnings
-
Adjust too many overlapping dynamic light bounds
-
Complex post effects materials
-
Textures
-
Avoid non-uniform texture resolutions
-
Mip map compression settings
-
-
Large and too many Render Targets
-
Static Mesh
-
LODS
-
Large shadow map resolution
-
Dynamic shadows (turn off unnecessary shadows)
-
Use Simple collision primitives. Avoiding using Complex collision
-
-
Skeletal Mesh
-
-
LODS
-
Runtime cloth simulation
-
Too many materials per character (Setup material texture packing)
-
-
Materials
-
Avoid overlapping translucency - glass, water, distortion (Overdraw)
-
Complex materials graphs
-
Setup material node switches to help support features per console and PC target
-
Setup material texture packing
-
-
FX
- Overlapping translucent particles (Overdraw)
-
Complex Blueprints and every frame tick events
-
Ray-trace & reflection settings
-
Complex post effects
-
Complex Fog
-
Level stream volumes
- Object distance culling