10#ifndef __GUIMEMPROFILE_H__
11#define __GUIMEMPROFILE_H__
13#include "GUIAnimatable.h"
18#include "eC_TList_doubleLinked.h"
20#include "GUIComponentManager.h"
22#define GETPROFILER CGUIComponentManager::GetInstance().GetProfiler()
92 INVALID_COUNTER_ID = -1,
131 return m_bDisplayActive;
144 return m_bConsoleActive;
159 return m_bCPUProfilingActive;
172 return m_bMemoryProfilingActive;
185 return m_bMemoryUsageBarActive;
198 return m_bGraphicsProfilingActive;
211 return m_bInvalidationActive;
237 return m_bRuntimeActive;
344 virtual void DoAnimate(
const eC_Value& vTimes = eC_FromInt(1));
362 void StartMeasurementFPS();
366 void EndMeasurementFPS();
387 void DisplayInvalidation(
const CGUIRect& kRect);
403 void DrawMemoryBar()
const;
406 void ConsoleOutput()
const;
408 void CalcBackRectangle();
414 FPSCounterID AddCounter(
const eC_String& kFPSTextPrefix);
419 eC_UInt GetFPS(
const FPSCounterID& eCounterID = DEFAULT_FPS)
const;
424 void StartMeasurement(
const FPSCounterID& eCounterID)
const;
429 void StopMeasurement(
const FPSCounterID& eCounterID)
const;
435 class CGUIFramerateCounter
439 CGUIFramerateCounter();
447 CGUIFramerateCounter(eC_String kFPSTextPrefix);
450 virtual ~CGUIFramerateCounter();
455 eC_UInt GetFPS()
const;
461 eC_String GetText()
const;
467 void StartMeasurement();
470 void StopMeasurement();
477 eC_Time64 m_kStartTime;
478 eC_Time64 m_kDeltaTime;
480 eC_String m_kFPSTextPrefix;
481 eC_String m_kFPSText;
497 CGUIFramerateCounter* GetCounter(
const FPSCounterID& eCounterID)
const;
499 void CheckUpdateTimer();
501 void UpdateMemoryValues();
505 eC_Bool m_bDisplayActive;
506 eC_Bool m_bConsoleActive;
507 eC_Bool m_bCPUProfilingActive;
508 eC_Bool m_bMemoryProfilingActive;
509 eC_Bool m_bMemoryUsageBarActive;
510 eC_Bool m_bGraphicsProfilingActive;
511 eC_Bool m_bInvalidationActive;
512 eC_Bool m_bFPSActive;
513 eC_Bool m_bRuntimeActive;
515 eC_UInt m_uiUpdateInterval;
517 eC_UInt m_uiBackColor;
518 eC_UInt m_uiTextColor;
523 eC_UInt m_uiLineCount;
524 eC_Value m_vLineHeight;
526 eC_Value m_vMemoryBarPosX;
527 eC_Value m_vMemoryBarPosY;
528 eC_Value m_vMemoryBarWidth;
529 eC_Value m_vMemoryBarHeight;
533 eC_Time64 m_tLoopBegin;
534 eC_Time64 m_tProcessBegin;
536 eC_UInt m_uiCPUUsage;
537 size_t m_tMemoryUsed;
538 size_t m_tMemoryUsageWarning;
539 size_t m_tMemoryUsageAlert;
540 size_t m_tMemoryUsedMax;
541 size_t m_tMemoryUsedLargestBlock;
542 size_t m_tMemoryNumAllocs;
543 eC_UInt m_uiStartRedraw;
544 eC_UInt m_uiLastRedraw;
545 eC_UInt m_uiStartRefresh;
546 eC_UInt m_uiLastRefresh;
548 eC_String m_kCPUUsage;
549 eC_String m_kMemoryUsed;
550 eC_String m_kMemoryMax;
551 eC_String m_kMemoryLargestBlock;
552 eC_String m_kMemoryNumAllocs;
553 eC_String m_kTimeRedraw;
554 eC_String m_kTimeRefresh;
555 eC_String m_kTimeRuntime;
557 eC_Value m_vScreenWidth;
558 eC_Value m_vScreenHeight;
559 eC_Value m_vMemoryUsageCurrent;
560 eC_Value m_vMemoryUsageWarning;
561 eC_Value m_vMemoryUsageAlert;
562 eC_Value m_vMemoryUsageMax;
564 eC_Bool m_bNeedsRedraw;
566 eC_Time64 m_tStartTime;
570 eC_Time64 m_kInternalTimer;
Helper Macros in Guiliani
FontResource_t
List of font resource ids.
Definition: GUIFontResource.h:54
Base interface for animation callbacks.
Definition: GUIAnimatable.h:51
central component-manager
Definition: GUIComponentManager.h:62
GUI base class for any Guiliani application.
Definition: GUI.h:47
Definition: GUIProfiler.h:82
void SetCPUProfilingActive(const eC_Bool &bActive)
size_t GetMemoryAvailable() const
virtual void DoAnimate(const eC_Value &vTimes=eC_FromInt(1))
void SetFPSActive(const eC_Bool &bActive)
eC_UInt GetRedrawDuration() const
void GetMemoryThresholds(eC_UInt &uiMemoryUsageWarning, eC_UInt &uiMemoryUsageAlert)
void SetTextColor(const eC_UInt &uiTextColor)
void SetMemoryUsageBarSize(const eC_Value &vWidth, const eC_Value &vHeight)
eC_Bool IsMemoryUsageBarActive() const
Definition: GUIProfiler.h:183
void SetBackColor(const eC_UInt &uiBackColor)
eC_Bool IsDisplayActive() const
Definition: GUIProfiler.h:129
void SetInvalidationActive(const eC_Bool &bActive)
static void DeleteInstance()
void SetFont(const FontResource_t &eFontID)
void SetMemoryAvailable(const size_t &tMemoryAvailable)
void SetActive(const eC_Bool &bActive)
size_t GetMemoryUsed() const
eC_UInt GetCPUUsage() const
eC_Bool IsInvalidationActive() const
Definition: GUIProfiler.h:209
void SetMemoryUsageBarPosition(const eC_Value &vX, const eC_Value &vY)
eC_Bool IsCPUProfilingActive() const
Definition: GUIProfiler.h:157
void SetMemoryUsageBarActive(const eC_Bool &bActive)
eC_Bool GetRuntimeActive() const
Definition: GUIProfiler.h:235
void SetMemoryProfilingActive(const eC_Bool &bActive)
size_t GetMemoryLargestBlock() const
size_t GetMemoryMax() const
void SetConsoleActive(const eC_Bool &bActive)
void ClearMemoryLargestBlock()
void SetPosition(const eC_Value &vX, const eC_Value &vY)
eC_Bool IsGraphicsProfilingActive() const
Definition: GUIProfiler.h:196
static void CreateInstance()
void SetUpdateInterval(const eC_UInt &uiUpdateInterval)
eC_Bool IsFPSActive() const
Definition: GUIProfiler.h:222
void SetRuntimeActive(const eC_Bool &bActive)
eC_Bool IsMemoryProfilingActive() const
Definition: GUIProfiler.h:170
void SetDisplayActive(const eC_Bool &bActive)
FPSCounterID
Definition: GUIProfiler.h:91
eC_Bool IsConsoleActive() const
Definition: GUIProfiler.h:142
eC_UInt GetRefreshDuration() const
eC_Bool IsActive() const
Definition: GUIProfiler.h:116
void SetMemoryThresholds(const eC_UInt &uiMemoryUsageWarning, const eC_UInt &uiMemoryUsageAlert)
void SetGraphicsProfilingActive(const eC_Bool &bActive)
Helper class to supply a platform independent rectangle implementation.
Definition: GUIRect.h:63
The graphics wrapper base class.
Definition: GfxWrap.h:84