In-Editor Performance Estimates
The performance estimates tool is designed to give rough performance estimates in PIE for streaming and native clients. The tool takes your current frame time and uses benchmark data to estimate what the expected performance is if the current level were to be played on GFN, Ubitus and native min spec hardware. For more accurate performance metrics, a full scale test will be necessary.
The performance estimates tool is on by default in editor and can be expanded using F7
. It can also be manually turned on and off by using the following console command:
M2PerformanceEstimates.ToggleHUD
To expand the performance estimates, use the following command:
M2PerformanceEstimates.ToggleExpandedHUD
The editor scalability settings can impact the quality of estimates if they are too high for your hardware and VRAM is exhausted. Your editor scalability settings can be found here:
For more accurate estimations, turn off Monitor Editor Performance
Instances
Currently, the tool only estimates performance for our most commonly used streaming instances and the lowest minimum hardware.
More instances will be added in the future.
The minimum hardware requirements can be found here.
Instance | Max CCU | Scalability settings |
---|---|---|
GFN g6.full | 15,000 | Custom profile (roughly High/Epic) |
Ubitus A10 | 15,000 | Custom profile (roughly High/Epic) |
Native Min | 500 | Customisable (default Low) |
Native Low | 1,000 | Customisable (default Medium) |
Calculating estimates
The estimates are calculated by taking the current frame time in PIE and scaling this according to the current scalability settings using CPU and GPU benchmark results for the local machine and the target hardware. A crowd performance overhead is applied based on the scalability setting and the target scale for each hardware.
Estimates in PIE are likely to be lower than packaged buildsโ performance, particularly with Low scalability settings. This is due to the editor overhead and less optimisations. This should improve in the future.
Assumptions made in calculating estimates
There is one player in the level
The crowd performance is based off of the default M2Unreal crowd setup
The crowd performance data is based off of the
Full
bot behaviourThe crowd is based off of modular characters
This will change to account for the transition to MML avatars
The data used is based off of
Skypark_P
Features that are not currently active will not be reflected in the estimates
The tool does scale if the local machine is using scalability level Cinematic but it does not give predictions for this level as it is not recommended.
Configuring data (optional)
This is an optional step if you want more accurate estimates based off of custom data.
The data used to calculate estimates is spread across 3 data tables:
DT_PerformanceEstimatesHardwareData
- native client performance dataDT_PerformanceEstimatesMinSpecData
- native min spec hardware performanceDT_PerformanceEstimatesStreamingData
- streaming hardware performance
This is currently configured using Skypark_P
but the data can be changed in projects instead of the default values.
Here is the data required for each of these tables:
DT_PerformanceEstimatesHardwareData
Value | Details |
---|---|
CPU Benchmark | Can be gathered using the console command |
GPU Benchmark | Can be gathered using the console command |
Scalability Level | The level that is set whilst gathering data |
Frame Time | Frame time recorded |
DT_PerformanceEstimatesMinSpecData
Value | Details |
---|---|
Instance name | How this will be labelled |
CPU Benchmark | Can be gathered using the console command |
GPU Benchmark | Can be gathered using the console command |
Target Scale | Target CCU |
Target Scalability Level | The target scalability level that the hardware uses. |
Max fps | The value fps is capped at |
Low Frame Time | The frame time at Low scalability level with one player |
Medium Frame Time | The frame time at Medium scalability level with one player |
High Frame Time | The frame time at High scalability level with one player |
Epic Frame Time | The frame time at Epic scalability level with one player |
Cine Frame Time | The frame time at Cinematic scalability level with one player |
Target Scale Low Frame Time | The frame time at Low scalability level with the target scale |
Target Scale Medium Frame Time | The frame time at Medium scalability level with the target scale |
Target Scale High Frame Time | The frame time at High scalability level with the target scale |
Target Scale Epic Frame Time | The frame time at Epic scalability level with the target scale |
Target Scale Cine Frame Time | The frame time at Cinematic scalability with the target scale |
DT_PerformanceEstimatesStreamingData
Value | Details |
---|---|
Instance name | How this will be labelled |
Streaming Service | Currently between GFN and Ubitus |
CPU Benchmark | Can be gathered using the console command |
GPU Benchmark | Can be gathered using the console command |
Target Scale | Target CCU |
Max fps | The value fps is capped at |
Custom Frame Time | The frame time using the custom device profile settings with one player |
Low Frame Time | The frame time at Low scalability level with one player |
Medium Frame Time | The frame time at Medium scalability level with one player |
High Frame Time | The frame time at High scalability level with one player |
Epic Frame Time | The frame time at Epic scalability level with one player |
Cine Frame Time | The frame time at Cinematic scalability level with one player |
Target Scale Custom Frame Time | The frame time using the custom device profile settings with the target scale |
Last updated