class ProfilerOverlay

Handles rendering of Profiler information as an overlay in a viewport.

Public

Constructors

ProfilerOverlay

ProfilerOverlay(const HCamera &camera)

Constructs a new overlay attached to the specified parent and displayed on the provided camera.

Methods

~ProfilerOverlay

~ProfilerOverlay()

SetTarget

void SetTarget(const HCamera &camera)

Changes the camera to display the overlay on.

Show

void Show(ProfilerOverlayType type)

Shows the overlay of the specified type.

Hide

void Hide()

Hides the overlay.

Update

void Update()

Updates overlay contents.

Should be called once per frame.

Private

Methods

TargetResized

void TargetResized()

Called whenever the viewport resizes in order to rearrange the GUI elements.

UpdateCpuSampleAreaSizes

void UpdateCpuSampleAreaSizes()

Updates sizes of GUI areas used for displaying CPU sample data.

To be called after viewport change or resize.

UpdateGpuSampleAreaSizes

void UpdateGpuSampleAreaSizes()

Updates sizes of GUI areas used for displaying GPU sample data.

To be called after viewport change or resize.

UpdateCpuSampleContents

void UpdateCpuSampleContents(const ProfilerReport &mainThreadReport, const ProfilerReport &renderThreadReport)

Updates CPU GUI elements from the data in the provided profiler reports.

To be called whenever a new report is received.

UpdateGpuSampleContents

void UpdateGpuSampleContents(const GpuProfilerSample &gpuReport)

Updates GPU GUI elemnts from the data in the provided profiler report.

To be called whenever a new report is received.

Fields

mLastProfilerResults

GpuProfilerResults mLastProfilerResults

mType

mTarget

SPtr<Viewport> mTarget

mWidgetSO

HSceneObject mWidgetSO

mWidget

HGUIWidget mWidget

mBasicLayoutLabels

GUILayout * mBasicLayoutLabels

mPreciseLayoutLabels

GUILayout * mPreciseLayoutLabels

mBasicLayoutContents

GUILayout * mBasicLayoutContents

mPreciseLayoutContents

GUILayout * mPreciseLayoutContents

mTitleBasicName

GUIInteractable * mTitleBasicName

mTitleBasicPctOfParent

GUIInteractable * mTitleBasicPctOfParent

mTitleBasicNumCalls

GUIInteractable * mTitleBasicNumCalls

mTitleBasicNumAllocs

GUIInteractable * mTitleBasicNumAllocs

mTitleBasicNumFrees

GUIInteractable * mTitleBasicNumFrees

mTitleBasicAvgTime

GUIInteractable * mTitleBasicAvgTime

mTitleBasicTotalTime

GUIInteractable * mTitleBasicTotalTime

mTitleBasicAvgTitleSelf

GUIInteractable * mTitleBasicAvgTitleSelf

mTitleBasicTotalTimeSelf

GUIInteractable * mTitleBasicTotalTimeSelf

mTitlePreciseName

GUIInteractable * mTitlePreciseName

mTitlePrecisePctOfParent

GUIInteractable * mTitlePrecisePctOfParent

mTitlePreciseNumCalls

GUIInteractable * mTitlePreciseNumCalls

mTitlePreciseNumAllocs

GUIInteractable * mTitlePreciseNumAllocs

mTitlePreciseNumFrees

GUIInteractable * mTitlePreciseNumFrees

mTitlePreciseAvgCycles

GUIInteractable * mTitlePreciseAvgCycles

mTitlePreciseTotalCycles

GUIInteractable * mTitlePreciseTotalCycles

mTitlePreciseAvgCyclesSelf

GUIInteractable * mTitlePreciseAvgCyclesSelf

mTitlePreciseTotalCyclesSelf

GUIInteractable * mTitlePreciseTotalCyclesSelf

mGPULayoutFrameContents

GUILayout * mGPULayoutFrameContents

mGPULayoutFrameContentsLeft

GUILayout * mGPULayoutFrameContentsLeft

mGPULayoutFrameContentsRight

GUILayout * mGPULayoutFrameContentsRight

mGPULayoutSamples

GUILayout * mGPULayoutSamples

mGPULayoutSampleLabels

GUILayout *[3] mGPULayoutSampleLabels

mGPULayoutSampleContents

GUILayout *[3] mGPULayoutSampleContents

mGPUFrameNumLbl

GUILabel * mGPUFrameNumLbl

mGPUTimeLbl

GUILabel * mGPUTimeLbl

mGPUDrawCallsLbl

GUILabel * mGPUDrawCallsLbl

mGPURenTargetChangesLbl

GUILabel * mGPURenTargetChangesLbl

mGPUPresentsLbl

GUILabel * mGPUPresentsLbl

mGPUClearsLbl

GUILabel * mGPUClearsLbl

mGPUVerticesLbl

GUILabel * mGPUVerticesLbl

mGPUPrimitivesLbl

GUILabel * mGPUPrimitivesLbl

mGPUSamplesLbl

GUILabel * mGPUSamplesLbl

mGPUPipelineStateChangesLbl

GUILabel * mGPUPipelineStateChangesLbl

mGPUObjectsCreatedLbl

GUILabel * mGPUObjectsCreatedLbl

mGPUObjectsDestroyedLbl

GUILabel * mGPUObjectsDestroyedLbl

mGPUResourceWritesLbl

GUILabel * mGPUResourceWritesLbl

mGPUResourceReadsLbl

GUILabel * mGPUResourceReadsLbl

mGPUParamBindsLbl

GUILabel * mGPUParamBindsLbl

mGPUVertexBufferBindsLbl

GUILabel * mGPUVertexBufferBindsLbl

mGPUIndexBufferBindsLbl

GUILabel * mGPUIndexBufferBindsLbl

mGPUFrameNumStr

HString mGPUFrameNumStr

mGPUTimeStr

HString mGPUTimeStr

mGPUDrawCallsStr

HString mGPUDrawCallsStr

mGPURenTargetChangesStr

HString mGPURenTargetChangesStr

mGPUPresentsStr

HString mGPUPresentsStr

mGPUClearsStr

HString mGPUClearsStr

mGPUVerticesStr

HString mGPUVerticesStr

mGPUPrimitivesStr

HString mGPUPrimitivesStr

mGPUSamplesStr

HString mGPUSamplesStr

mGPUPipelineStateChangesStr

HString mGPUPipelineStateChangesStr

mGPUObjectsCreatedStr

HString mGPUObjectsCreatedStr

mGPUObjectsDestroyedStr

HString mGPUObjectsDestroyedStr

mGPUResourceWritesStr

HString mGPUResourceWritesStr

mGPUResourceReadsStr

HString mGPUResourceReadsStr

mGPUParamBindsStr

HString mGPUParamBindsStr

mGPUVertexBufferBindsStr

HString mGPUVertexBufferBindsStr

mGPUIndexBufferBindsStr

HString mGPUIndexBufferBindsStr

mBasicRows

Vector<BasicRow> mBasicRows

mPreciseRows

Vector<PreciseRow> mPreciseRows

mGPUSampleRows

Vector<GPUSampleRow>[3] mGPUSampleRows

mTargetResizedConn

HEvent mTargetResizedConn

mIsShown

bool mIsShown

mNumGPUSamplesPerColumn

u32 mNumGPUSamplesPerColumn

mDPIScale

float mDPIScale