Profiling

Measuring CPU and GPU execution times and memory usage.

Classes

  • GpuCommandBufferProfiler — Allows you to record timing and statistics for GPU command execution on a GPU command buffer.
  • GpuProfiler — Profiler that measures time and amount of various GPU operations.
  • ProfilerOverlay — Handles rendering of Profiler information as an overlay in a viewport.
  • ProfilerCPU — Provides various performance measuring methods.
  • CPUProfilerReport — CPU profiling report containing all profiling information for a single profiling session.
  • ProfilingManager — Tracks CPU profiling information with each frame for main and render threads.

Structs

  • GpuProfilerSample — Contains various profiler statistics about a single GPU profiling sample.
  • GpuProfilerResults — Contains resolved samples from a GPU profiling operation.
  • ProfileGPUBlock — Helper class that performs GPU profiling in the current block.
  • ProfilerOverlay::BasicRow — Holds data about GUI elements in a single row of a "CPU basic" sample.
  • ProfilerOverlay::PreciseRow — Holds data about GUI elements in a single row of a "CPU precise" sample.
  • ProfilerOverlay::GPUSampleRow — Holds data about GUI elements in a single row of a GPU sample.
  • CPUProfilerBasicSamplingEntry — Profiling entry containing information about a single CPU profiling block containing timing information.
  • CPUProfilerBasicSamplingEntry::Data
  • CPUProfilerPreciseSamplingEntry — Profiling entry containing information about a single CPU profiling block containing CPU cycle count based information.
  • CPUProfilerPreciseSamplingEntry::Data
  • ProfilerReport — Contains data about a profiling session.

Enums

Free functions

GetGpuProfiler

GpuProfiler &GetGpuProfiler()

Provides global access to ProfilerGPU instance.

GetProfilerCPU

ProfilerCPU &GetProfilerCPU()

Provides global access to ProfilerCPU instance.

GetProfiler

ProfilingManager &GetProfiler()

Easy way to access ProfilingManager.

Internal

Symbols intended for engine-internal use. Not part of the public API.

Classes

  • ProfilerCPU::Timer Timer class responsible for tracking elapsed time.
  • ProfilerCPU::TimerPrecise Timer class responsible for tracking number of elapsed CPU cycles.
  • RenderStats — Tracks various render system statistics.

Structs

  • GpuCommandBufferProfiler::Sample — Information about a single profiling sample.
  • GpuProfiler::ResolvedCommandBufferProfilerData — Information about all unresolved command buffer profilers with the same identifier.
  • GpuProfiler::UnresolvedCommandBufferProfilerData — Information about all unresolved command buffer profilers with the same identifier.
  • ProfilerCPU::ProfileSample — Contains data about a single profiler sample (counting time in milliseconds).
  • ProfilerCPU::PreciseProfileSample — Contains data about a single precise profiler sample (counting CPU cycles).
  • ProfilerCPU::ProfileData — Contains basic (time based) profiling data contained in a profiling block.
  • ProfilerCPU::PreciseProfileData — Contains precise (CPU cycle based) profiling data contained in a profiling block.
  • ProfilerCPU::ProfiledBlock — Contains all sampling information about a single named profiling block.
  • ProfilerCPU::ActiveBlock — Contains data about the currently active profiling block.
  • ProfilerCPU::ThreadInfo — Contains data about an active profiling thread.
  • RenderStatsData — Object that stores various render statistics.

Enums