-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPerformanceSettings.cs
More file actions
35 lines (29 loc) · 882 Bytes
/
Copy pathPerformanceSettings.cs
File metadata and controls
35 lines (29 loc) · 882 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using UnityEngine;
public class PerformanceSettings : MonoBehaviour
{
[Header("Target Frame Rates")]
[SerializeField] private int lowEndTargetFPS = 30;
[SerializeField] private int standardTargetFPS = 60;
[Header("Memory Threshold")]
[SerializeField] private int lowEndMemoryThresholdMB = 4096;
private void Awake()
{
ConfigurePerformance();
}
private void ConfigurePerformance()
{
int systemMemory = SystemInfo.systemMemorySize;
if (systemMemory > 0 && systemMemory <= lowEndMemoryThresholdMB)
{
Application.targetFrameRate = lowEndTargetFPS;
if (QualitySettings.names.Length > 0)
{
QualitySettings.SetQualityLevel(0, true);
}
}
else
{
Application.targetFrameRate = standardTargetFPS;
}
}
}