Added IO.MetricsAllocs counter (number of memory allocations

docking
ocornut 10 years ago
parent d9b2a90773
commit d9ca8f3145

@ -1787,11 +1787,13 @@ static void AddWindowToRenderList(ImVector<ImDrawList*>& out_render_list, ImGuiW
void* ImGui::MemAlloc(size_t sz) void* ImGui::MemAlloc(size_t sz)
{ {
GImGui->IO.MetricsAllocs++;
return GImGui->IO.MemAllocFn(sz); return GImGui->IO.MemAllocFn(sz);
} }
void ImGui::MemFree(void* ptr) void ImGui::MemFree(void* ptr)
{ {
GImGui->IO.MetricsAllocs--;
return GImGui->IO.MemFreeFn(ptr); return GImGui->IO.MemFreeFn(ptr);
} }
@ -11039,6 +11041,7 @@ void ImGui::ShowMetricsWindow(bool* opened)
ImGui::Text("ImGui %s", ImGui::GetVersion()); 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("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 vertices", ImGui::GetIO().MetricsRenderVertices);
ImGui::Text("%d active allocations", ImGui::GetIO().MetricsAllocs);
ImGui::Separator(); ImGui::Separator();
struct Funcs struct Funcs

@ -696,6 +696,7 @@ struct ImGuiIO
bool WantCaptureMouse; // Mouse is hovering a window or widget is active (= ImGui will use your mouse input) 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) 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 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() int MetricsRenderVertices; // Vertices processed during last call to Render()
//------------------------------------------------------------------ //------------------------------------------------------------------

Loading…
Cancel
Save