/// <summary> /// Enables the profiling system drawing. /// </summary> /// <param name="excludeKeys">If true the keys specified after are excluded from rendering, if false they will be exclusively included.</param> /// <param name="keys">The keys to exclude or include.</param> public void EnableProfiling(bool excludeKeys = false, params ProfilingKey[] keys) { Enabled = true; Visible = true; if (keys.Length == 0) { Profiler.EnableAll(); } else { if (excludeKeys) { Profiler.EnableAll(); foreach (var profilingKey in keys) { Profiler.Disable(profilingKey); } } else { foreach (var profilingKey in keys) { Profiler.Enable(profilingKey); } } } gcProfiler.Enable(); }
/// <summary> /// Enables the profiling system drawing. /// </summary> /// <param name="excludeKeys">If true the keys specified after are excluded from rendering, if false they will be exclusively included.</param> /// <param name="keys">The keys to exclude or include.</param> public void EnableProfiling(bool excludeKeys = false, params ProfilingKey[] keys) { Enabled = true; Visible = true; // Backup current PresentInterval state userPresentInterval = GraphicsDevice.Presenter.PresentInterval; // Disable VSync (otherwise GPU results might be incorrect) GraphicsDevice.Presenter.PresentInterval = PresentInterval.Immediate; if (keys.Length == 0) { Profiler.EnableAll(); } else { if (excludeKeys) { Profiler.EnableAll(); foreach (var profilingKey in keys) { Profiler.Disable(profilingKey); } } else { foreach (var profilingKey in keys) { Profiler.Enable(profilingKey); } } } gcProfiler.Enable(); }