diff --git a/Assets/Cryville.EEW.Unity/UI/StatusView.cs b/Assets/Cryville.EEW.Unity/UI/StatusView.cs index 3da3a22..cb61e91 100644 --- a/Assets/Cryville.EEW.Unity/UI/StatusView.cs +++ b/Assets/Cryville.EEW.Unity/UI/StatusView.cs @@ -1,4 +1,5 @@ using System.Globalization; +using System.Text; using TMPro; using UnityEngine; @@ -11,17 +12,30 @@ namespace Cryville.EEW.Unity.UI { _textView = GetComponent(); } + StringBuilder _sb = new(); + char[] _buffer = new char[256]; void Update() { - _textView.text = string.Format( + _sb.Clear(); + _sb.AppendFormat( CultureInfo.InvariantCulture, - "FPS: i{0:0} / s{1:0}\nSMem: {2:N0} / {3:N0}\nIMem: {4:N0} / {5:N0}", + "FPS: i{0:0} / s{1:0}\n", 1 / Time.deltaTime, - 1 / Time.smoothDeltaTime, + 1 / Time.smoothDeltaTime + ); + _sb.AppendFormat( + CultureInfo.InvariantCulture, + "SMem: {0:N0} / {1:N0}\n", UnityEngine.Profiling.Profiler.GetMonoUsedSizeLong(), - UnityEngine.Profiling.Profiler.GetMonoHeapSizeLong(), + UnityEngine.Profiling.Profiler.GetMonoHeapSizeLong() + ); + _sb.AppendFormat( + CultureInfo.InvariantCulture, + "IMem: {0:N0} / {1:N0}", UnityEngine.Profiling.Profiler.GetTotalAllocatedMemoryLong(), UnityEngine.Profiling.Profiler.GetTotalReservedMemoryLong() ); + _sb.CopyTo(0, _buffer, _sb.Length); + _textView.SetText(_buffer, 0, _sb.Length); } } }