IPerformanceDetailEntry.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. //
  2. // Copyright (c) 2019-2020 Ryujinx
  3. //
  4. // This program is free software: you can redistribute it and/or modify
  5. // it under the terms of the GNU Lesser General Public License as published by
  6. // the Free Software Foundation, either version 3 of the License, or
  7. // (at your option) any later version.
  8. //
  9. // This program is distributed in the hope that it will be useful,
  10. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. // GNU Lesser General Public License for more details.
  13. //
  14. // You should have received a copy of the GNU Lesser General Public License
  15. // along with this program. If not, see <https://www.gnu.org/licenses/>.
  16. //
  17. using Ryujinx.Audio.Renderer.Common;
  18. namespace Ryujinx.Audio.Renderer.Server.Performance
  19. {
  20. /// <summary>
  21. /// Represents a detailed entry in a performance frame.
  22. /// </summary>
  23. public interface IPerformanceDetailEntry
  24. {
  25. /// <summary>
  26. /// Get the start time of this entry event (in microseconds).
  27. /// </summary>
  28. /// <returns>The start time of this entry event (in microseconds).</returns>
  29. int GetStartTime();
  30. /// <summary>
  31. /// Get the start time offset in this structure.
  32. /// </summary>
  33. /// <returns>The start time offset in this structure.</returns>
  34. int GetStartTimeOffset();
  35. /// <summary>
  36. /// Get the processing time of this entry event (in microseconds).
  37. /// </summary>
  38. /// <returns>The processing time of this entry event (in microseconds).</returns>
  39. int GetProcessingTime();
  40. /// <summary>
  41. /// Get the processing time offset in this structure.
  42. /// </summary>
  43. /// <returns>The processing time offset in this structure.</returns>
  44. int GetProcessingTimeOffset();
  45. /// <summary>
  46. /// Set the <paramref name="nodeId"/> of this entry.
  47. /// </summary>
  48. /// <param name="nodeId">The node id of this entry.</param>
  49. void SetNodeId(int nodeId);
  50. /// <summary>
  51. /// Set the <see cref="PerformanceEntryType"/> of this entry.
  52. /// </summary>
  53. /// <param name="type">The type to use.</param>
  54. void SetEntryType(PerformanceEntryType type);
  55. /// <summary>
  56. /// Set the <see cref="PerformanceDetailType"/> of this entry.
  57. /// </summary>
  58. /// <param name="detailType">The type to use.</param>
  59. void SetDetailType(PerformanceDetailType detailType);
  60. }
  61. }