From d9ca8f314501d316e548efb5e8df108180288988 Mon Sep 17 00:00:00 2001 From: ocornut Date: Fri, 15 May 2015 12:05:05 +0100 Subject: [PATCH] Added IO.MetricsAllocs counter (number of memory allocations --- imgui.cpp | 3 +++ imgui.h | 1 + 2 files changed, 4 insertions(+) diff --git a/imgui.cpp b/imgui.cpp index c5ce7a1f..679bfc71 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -1787,11 +1787,13 @@ static void AddWindowToRenderList(ImVector& out_render_list, ImGuiW void* ImGui::MemAlloc(size_t sz) { + GImGui->IO.MetricsAllocs++; return GImGui->IO.MemAllocFn(sz); } void ImGui::MemFree(void* ptr) { + GImGui->IO.MetricsAllocs--; return GImGui->IO.MemFreeFn(ptr); } @@ -11039,6 +11041,7 @@ void ImGui::ShowMetricsWindow(bool* opened) ImGui::Text("ImGui %s", ImGui::GetVersion()); ImGui::Text("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / ImGui::GetIO().Framerate, ImGui::GetIO().Framerate); ImGui::Text("%d vertices", ImGui::GetIO().MetricsRenderVertices); + ImGui::Text("%d active allocations", ImGui::GetIO().MetricsAllocs); ImGui::Separator(); struct Funcs diff --git a/imgui.h b/imgui.h index 642c02ef..f72c4e7c 100644 --- a/imgui.h +++ b/imgui.h @@ -696,6 +696,7 @@ struct ImGuiIO bool WantCaptureMouse; // Mouse is hovering a window or widget is active (= ImGui will use your mouse input) bool WantCaptureKeyboard; // Widget is active (= ImGui will use your keyboard input) float Framerate; // Framerate estimation, in frame per second. Rolling average estimation based on IO.DeltaTime over 120 frames + int MetricsAllocs; // Number of active memory allocations int MetricsRenderVertices; // Vertices processed during last call to Render() //------------------------------------------------------------------