BsRenderStats.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma once
  2. #include "BsCorePrerequisites.h"
  3. #include "BsModule.h"
  4. namespace BansheeEngine
  5. {
  6. /**
  7. * @brief Object that stores various render statistics.
  8. */
  9. struct RenderStats
  10. {
  11. RenderStats()
  12. : numDrawCalls(0), numRenderTargetChanges(0), numPresents(0), numClears(0),
  13. numVertices(0), numPrimitives(0), numBlendStateChanges(0), numRasterizerStateChanges(0),
  14. numDepthStencilStateChanges(0), numTextureBinds(0), numSamplerBinds(0), numVertexBufferBinds(0),
  15. numIndexBufferBinds(0), numGpuParamBufferBinds(0), numGpuProgramBinds(0)
  16. { }
  17. UINT64 numDrawCalls;
  18. UINT64 numRenderTargetChanges;
  19. UINT64 numPresents;
  20. UINT64 numClears;
  21. UINT64 numVertices;
  22. UINT64 numPrimitives;
  23. UINT64 numBlendStateChanges;
  24. UINT64 numRasterizerStateChanges;
  25. UINT64 numDepthStencilStateChanges;
  26. UINT64 numTextureBinds;
  27. UINT64 numSamplerBinds;
  28. UINT64 numVertexBufferBinds;
  29. UINT64 numIndexBufferBinds;
  30. UINT64 numGpuParamBufferBinds;
  31. UINT64 numGpuProgramBinds;
  32. UINT64 numResourceWrites;
  33. UINT64 numResourceReads;
  34. UINT64 numObjectsCreated;
  35. UINT64 numObjectsDestroyed;
  36. };
  37. }