using System.Diagnostics; namespace ScreenConnect; public class CompressionTracker { private long lastOutputResultsMilliescondTick; public float RunningCompressionRate { get; private set; } public CompressionTracker() { lastOutputResultsMilliescondTick = Singleton.Instance.GetMillisecondCount(); } [Conditional("DEBUG")] public void TrackCompressionRate(float newCompressionRate) { RunningCompressionRate = newCompressionRate * 0.125f + RunningCompressionRate * 0.875f; _ = Singleton.Instance.GetMillisecondCount() - lastOutputResultsMilliescondTick; _ = 10000; } [Conditional("DEBUG")] public void OutputResults() { lock (TypeTrace.Source) { Singleton.Instance.GetMillisecondCount(); _ = lastOutputResultsMilliescondTick; TypeTrace.TraceMessage($"Current Compression Rate: {RunningCompressionRate * 100f:0.00}"); } lastOutputResultsMilliescondTick = Singleton.Instance.GetMillisecondCount(); } }