-
-
Notifications
You must be signed in to change notification settings - Fork 99
Performance Optimization Guidelines
flow____ edited this page Apr 5, 2024
·
8 revisions
Graphics Card Memory is mostly limited across multiple Target Devices, so it makes sense using the CPU Memory, there are some engines out there which does work mostly on the GPU but for Unreal Engine this is not the case, a lot of it like Animations etc. are still using massively the CPU.
It also makes no sense to cache most of the Data, because in the end on a complicated system the amount of memory can be a bottleneck, sometimes generating the data at runtime is much faster.
Here some performance optimization guidelines:
- Increase
Time Between Animation Library Framesto the most acceptable value - Enable
Use Distance Updatingand play around with theDistance Updating Ratio - Increase
Auto Lod Ratio - Disable Animations for High Distance LODs, do you really need to Animate LOD 14 which is 800 Meters away from the camera?
- Solve the Animations just one time per frame when having just one Update Group
- Use Multiple Update Groups, Updated Groups, when using correctly are the most powerful optimization technique in TS
- Multi-Thread the controller; 95% of all functions are Thread safe
- Use C++ Instead of BP
- Use max 30–75 bones on the Mesh
- Increase
Time Between Animation Library Framesto the most acceptable value - Decrease
Highest Detail Draw Distance - Increase
Auto Lod Ratio - Disable Animations for High Distance LODs, do you really need to Animate LOD 14 which is 800 Meters away from the camera?
- Make sure the Mesh has enough LODs, there is no performance downside using too many LODs, it may look wrong having just a quad on the last LOD
- In the Tweak Section, make sure the Textures having good dimensions
- Use max 30–75 bones on the Mesh
- Make sure the Material you use is optimized, because the Vertex Skinning of the Vertices is a heavy operation
- Use less geometry for the mesh, you can exclude LODs from the system in the Mesh Asset, most of the Time LOD 2 or 3 is good enough for the 1st LOD
Having 2 Material on the Mesh meaning, there are 2 Mesh Sections under the hood:
- One Archetype with 1 Mesh Section is generating 1 Draw call, with 4 Mesh Sections, 4 Draw Calls
- Individual Instances don't create draw calls
- Keep the Instances count high but keep the Archetype count low
- Instances create CPU and GPU Memory
- More Animations Create More Memory on the CPU and GPU
- Increase
Time Between Animation Library Framesto the most acceptable value to increase FPS