/Utilities/Profiling/IProfiler.cs
C# | 50 lines | 17 code | 5 blank | 28 comment | 0 complexity | 5b64a71c0661a65b3b70c167c279c4b3 MD5 | raw file
Possible License(s): Apache-2.0
- using System;
-
- namespace Delta.Utilities.Profiling
- {
- /// <summary>
- /// Interface for the profiler module, which basically just shows
- /// the Fps, Module, System or Simulator information via the
- /// ProfilingGraphics module that is created dynamically if needed.
- /// flagDescription is a really bad name!
- /// try to ignore really short (basically empty) start/stop calls with 0.000ms!
- /// this should not need a flagDescription, it should just close the last opened profiling flag.
- /// more features that need exposing (see section below)?
- /// remove IsProfilerEnabled and do it differently, but for now I do not have a better solution
- /// </summary>
- public interface IProfiler
- {
- #region Start/Stop Profiling Flags
- /// <summary>
- /// Set start flag
- /// </summary>
- /// <param name="flagDescription">Flag description</param>
- void Start(string flagDescription);
-
- /// <summary>
- /// Set end flag
- /// </summary>
- /// <param name="flagDescription">Flag description</param>
- void Stop(string flagDescription);
- #endregion
-
- #region AddLoadedContentSize
- /// <summary>
- /// Helper method to count how much content we are actually loading
- /// in bytes. This is only used in the System profiling mode.
- /// </summary>
- /// <param name="contentSizeInBytes">
- /// Content size in bytes for profiling.
- /// </param>
- void AddLoadedContentSize(int contentSizeInBytes);
- #endregion
-
- #region NewFrame
- /// <summary>
- /// Update some per frame values, Marks beginning of new Frame
- /// </summary>
- void NewFrame();
- #endregion
-
- }
- }