Add memory profiling events to the main areas of the engine

This commit is contained in:
Wojtek Figat
2025-05-22 04:47:01 +02:00
parent 32bc73610f
commit c639a3103c
101 changed files with 502 additions and 17 deletions

View File

@@ -10,6 +10,7 @@
#include "Engine/Platform/IGuiData.h"
#include "Engine/Scripting/ScriptingType.h"
#include "Engine/Profiler/ProfilerCPU.h"
#include "Engine/Profiler/ProfilerMemory.h"
#include "Engine/Scripting/ManagedCLR/MException.h"
#include "Engine/Scripting/ManagedCLR/MUtils.h"
#include "Engine/Scripting/ManagedCLR/MMethod.h"
@@ -204,6 +205,7 @@ void WindowBase::SetRenderingEnabled(bool value)
void WindowBase::OnCharInput(Char c)
{
PROFILE_CPU_NAMED("GUI.OnCharInput");
PROFILE_MEM(UI);
CharInput(c);
INVOKE_EVENT_PARAMS_1(OnCharInput, &c);
}
@@ -211,6 +213,7 @@ void WindowBase::OnCharInput(Char c)
void WindowBase::OnKeyDown(KeyboardKeys key)
{
PROFILE_CPU_NAMED("GUI.OnKeyDown");
PROFILE_MEM(UI);
KeyDown(key);
INVOKE_EVENT_PARAMS_1(OnKeyDown, &key);
}
@@ -218,6 +221,7 @@ void WindowBase::OnKeyDown(KeyboardKeys key)
void WindowBase::OnKeyUp(KeyboardKeys key)
{
PROFILE_CPU_NAMED("GUI.OnKeyUp");
PROFILE_MEM(UI);
KeyUp(key);
INVOKE_EVENT_PARAMS_1(OnKeyUp, &key);
}
@@ -225,6 +229,7 @@ void WindowBase::OnKeyUp(KeyboardKeys key)
void WindowBase::OnMouseDown(const Float2& mousePosition, MouseButton button)
{
PROFILE_CPU_NAMED("GUI.OnMouseDown");
PROFILE_MEM(UI);
MouseDown(mousePosition, button);
INVOKE_EVENT_PARAMS_2(OnMouseDown, (void*)&mousePosition, &button);
}
@@ -232,6 +237,7 @@ void WindowBase::OnMouseDown(const Float2& mousePosition, MouseButton button)
void WindowBase::OnMouseUp(const Float2& mousePosition, MouseButton button)
{
PROFILE_CPU_NAMED("GUI.OnMouseUp");
PROFILE_MEM(UI);
MouseUp(mousePosition, button);
INVOKE_EVENT_PARAMS_2(OnMouseUp, (void*)&mousePosition, &button);
}
@@ -239,6 +245,7 @@ void WindowBase::OnMouseUp(const Float2& mousePosition, MouseButton button)
void WindowBase::OnMouseDoubleClick(const Float2& mousePosition, MouseButton button)
{
PROFILE_CPU_NAMED("GUI.OnMouseDoubleClick");
PROFILE_MEM(UI);
MouseDoubleClick(mousePosition, button);
INVOKE_EVENT_PARAMS_2(OnMouseDoubleClick, (void*)&mousePosition, &button);
}
@@ -246,6 +253,7 @@ void WindowBase::OnMouseDoubleClick(const Float2& mousePosition, MouseButton but
void WindowBase::OnMouseWheel(const Float2& mousePosition, float delta)
{
PROFILE_CPU_NAMED("GUI.OnMouseWheel");
PROFILE_MEM(UI);
MouseWheel(mousePosition, delta);
INVOKE_EVENT_PARAMS_2(OnMouseWheel, (void*)&mousePosition, &delta);
}
@@ -253,6 +261,7 @@ void WindowBase::OnMouseWheel(const Float2& mousePosition, float delta)
void WindowBase::OnMouseMove(const Float2& mousePosition)
{
PROFILE_CPU_NAMED("GUI.OnMouseMove");
PROFILE_MEM(UI);
MouseMove(mousePosition);
INVOKE_EVENT_PARAMS_1(OnMouseMove, (void*)&mousePosition);
}
@@ -260,6 +269,7 @@ void WindowBase::OnMouseMove(const Float2& mousePosition)
void WindowBase::OnMouseLeave()
{
PROFILE_CPU_NAMED("GUI.OnMouseLeave");
PROFILE_MEM(UI);
MouseLeave();
INVOKE_EVENT_PARAMS_0(OnMouseLeave);
}
@@ -267,6 +277,7 @@ void WindowBase::OnMouseLeave()
void WindowBase::OnTouchDown(const Float2& pointerPosition, int32 pointerId)
{
PROFILE_CPU_NAMED("GUI.OnTouchDown");
PROFILE_MEM(UI);
TouchDown(pointerPosition, pointerId);
INVOKE_EVENT_PARAMS_2(OnTouchDown, (void*)&pointerPosition, &pointerId);
}
@@ -274,6 +285,7 @@ void WindowBase::OnTouchDown(const Float2& pointerPosition, int32 pointerId)
void WindowBase::OnTouchMove(const Float2& pointerPosition, int32 pointerId)
{
PROFILE_CPU_NAMED("GUI.OnTouchMove");
PROFILE_MEM(UI);
TouchMove(pointerPosition, pointerId);
INVOKE_EVENT_PARAMS_2(OnTouchMove, (void*)&pointerPosition, &pointerId);
}
@@ -281,6 +293,7 @@ void WindowBase::OnTouchMove(const Float2& pointerPosition, int32 pointerId)
void WindowBase::OnTouchUp(const Float2& pointerPosition, int32 pointerId)
{
PROFILE_CPU_NAMED("GUI.OnTouchUp");
PROFILE_MEM(UI);
TouchUp(pointerPosition, pointerId);
INVOKE_EVENT_PARAMS_2(OnTouchUp, (void*)&pointerPosition, &pointerId);
}
@@ -391,6 +404,7 @@ bool WindowBase::GetMouseButtonUp(MouseButton button) const
void WindowBase::OnShow()
{
PROFILE_CPU_NAMED("GUI.OnShow");
PROFILE_MEM(UI);
INVOKE_EVENT_PARAMS_0(OnShow);
Shown();
}
@@ -398,10 +412,13 @@ void WindowBase::OnShow()
void WindowBase::OnResize(int32 width, int32 height)
{
PROFILE_CPU_NAMED("GUI.OnResize");
PROFILE_MEM_BEGIN(Graphics);
if (_swapChain)
_swapChain->Resize(width, height);
if (RenderTask)
RenderTask->Resize(width, height);
PROFILE_MEM_END();
PROFILE_MEM(UI);
Resized({ static_cast<float>(width), static_cast<float>(height) });
INVOKE_EVENT_PARAMS_2(OnResize, &width, &height);
}
@@ -453,6 +470,7 @@ void WindowBase::OnLostFocus()
void WindowBase::OnUpdate(float dt)
{
PROFILE_CPU_NAMED("GUI.OnUpdate");
PROFILE_MEM(UI);
Update(dt);
INVOKE_EVENT_PARAMS_1(OnUpdate, &dt);
}
@@ -460,6 +478,7 @@ void WindowBase::OnUpdate(float dt)
void WindowBase::OnDraw()
{
PROFILE_CPU_NAMED("GUI.OnDraw");
PROFILE_MEM(UI);
INVOKE_EVENT_PARAMS_0(OnDraw);
Draw();
}
@@ -467,6 +486,7 @@ void WindowBase::OnDraw()
bool WindowBase::InitSwapChain()
{
// Setup swapchain
PROFILE_MEM(Graphics);
if (_swapChain == nullptr)
{
_swapChain = GPUDevice::Instance->CreateSwapChain((Window*)this);