Files
2026-06-04 11:42:34 +02:00

213 lines
4.5 KiB
C#

using System;
using UnityEngine;
// Token: 0x02001124 RID: 4388
public class FrameBudgetMonitor : SingletonMonoBehaviour<FrameBudgetMonitor>
{
// Token: 0x04005EE7 RID: 24295
[SerializeField]
private FrameBudgetMonitor.Property[] cpuProperties = new FrameBudgetMonitor.Property[]
{
new FrameBudgetMonitor.Property
{
Name = "Rendering",
MeanLimit = 3f,
PeakLimit = 5f,
Suffix = " ms"
},
new FrameBudgetMonitor.Property
{
Name = "Scripts",
MeanLimit = 3f,
PeakLimit = 4f,
Suffix = " ms"
},
new FrameBudgetMonitor.Property
{
Name = "Physics",
MeanLimit = 0.6f,
PeakLimit = 0.8f,
Suffix = " ms"
}
};
// Token: 0x04005EE8 RID: 24296
[SerializeField]
private FrameBudgetMonitor.Property[] gpuProperties = new FrameBudgetMonitor.Property[]
{
new FrameBudgetMonitor.Property
{
Name = "Shadows/Depth",
MeanLimit = 3f,
PeakLimit = 4f,
Suffix = " ms"
},
new FrameBudgetMonitor.Property
{
Name = "Opaque",
MeanLimit = 3f,
PeakLimit = 4f,
Suffix = " ms"
},
new FrameBudgetMonitor.Property
{
Name = "Transparent",
MeanLimit = 0.5f,
PeakLimit = 1f,
Suffix = " ms"
},
new FrameBudgetMonitor.Property
{
Name = "PostProcess",
MeanLimit = 0.7f,
PeakLimit = 1.5f,
Suffix = " ms"
},
new FrameBudgetMonitor.Property
{
Name = "Batches",
MeanLimit = 1.5f,
PeakLimit = 2f,
Suffix = "K",
Multiplier = 1000f
},
new FrameBudgetMonitor.Property
{
Name = "Vertices",
MeanLimit = 8f,
PeakLimit = 10f,
Suffix = "M"
}
};
// Token: 0x04005EE9 RID: 24297
[SerializeField]
private FrameBudgetMonitor.NetworkProperty[] outboundNetworkProperties = new FrameBudgetMonitor.NetworkProperty[]
{
new FrameBudgetMonitor.NetworkProperty
{
Type = FrameBudgetMonitor.EPIGNCHCBGF.Bandwidth,
Name = "Bandwidth",
MeanLimit = 200f,
PeakLimit = 1000f,
Suffix = " kbps"
},
new FrameBudgetMonitor.NetworkProperty
{
Type = FrameBudgetMonitor.EPIGNCHCBGF.RPCs,
Name = "RPCs",
MeanLimit = 2f,
PeakLimit = 10f,
Suffix = " / sec"
},
new FrameBudgetMonitor.NetworkProperty
{
Type = FrameBudgetMonitor.EPIGNCHCBGF.RoomPropUpdates,
Name = "Room Prop Updates",
MeanLimit = 4f,
PeakLimit = 10f,
Suffix = " / sec"
},
new FrameBudgetMonitor.NetworkProperty
{
Type = FrameBudgetMonitor.EPIGNCHCBGF.OwnershipTransfers,
Name = "Owner Transfers",
MeanLimit = 4f,
PeakLimit = 10f,
Suffix = " / sec"
}
};
// Token: 0x04005EEA RID: 24298
[SerializeField]
private FrameBudgetMonitor.NetworkProperty[] inboundNetworkProperties = new FrameBudgetMonitor.NetworkProperty[]
{
new FrameBudgetMonitor.NetworkProperty
{
Type = FrameBudgetMonitor.EPIGNCHCBGF.Bandwidth,
Name = "Bandwidth",
MeanLimit = 800f,
PeakLimit = 2000f,
Suffix = " kbps"
},
new FrameBudgetMonitor.NetworkProperty
{
Type = FrameBudgetMonitor.EPIGNCHCBGF.RPCs,
Name = "RPCs",
MeanLimit = 8f,
PeakLimit = 20f,
Suffix = " / sec"
},
new FrameBudgetMonitor.NetworkProperty
{
Type = FrameBudgetMonitor.EPIGNCHCBGF.RoomPropUpdates,
Name = "Room Prop Updates",
MeanLimit = 10f,
PeakLimit = 20f,
Suffix = " / sec"
},
new FrameBudgetMonitor.NetworkProperty
{
Type = FrameBudgetMonitor.EPIGNCHCBGF.OwnershipTransfers,
Name = "Owner Transfers",
MeanLimit = 10f,
PeakLimit = 20f,
Suffix = " / sec"
}
};
// Token: 0x02001125 RID: 4389
[Serializable]
private class Property
{
// Token: 0x04005EEB RID: 24299
public string Name;
// Token: 0x04005EEC RID: 24300
public float MeanLimit;
// Token: 0x04005EED RID: 24301
public float PeakLimit;
// Token: 0x04005EEE RID: 24302
public string Suffix;
// Token: 0x04005EEF RID: 24303
[Tooltip("Optional multiplier to scale the raw profiling data by to get it into the measurement range (ideally between 0-10)")]
public float Multiplier;
// Token: 0x04005EF0 RID: 24304
[NonSerialized]
public int Id;
// Token: 0x04005EF1 RID: 24305
[NonSerialized]
public float Mean;
// Token: 0x04005EF2 RID: 24306
[NonSerialized]
public float Peak;
}
// Token: 0x02001126 RID: 4390
private enum EPIGNCHCBGF
{
// Token: 0x04005EF4 RID: 24308
Bandwidth,
// Token: 0x04005EF5 RID: 24309
RPCs,
// Token: 0x04005EF6 RID: 24310
RoomPropUpdates,
// Token: 0x04005EF7 RID: 24311
OwnershipTransfers
}
// Token: 0x02001127 RID: 4391
[Serializable]
private class NetworkProperty : FrameBudgetMonitor.Property
{
// Token: 0x04005EF8 RID: 24312
public FrameBudgetMonitor.EPIGNCHCBGF Type;
}
}