Added IO.MetricsAllocs counter (number of memory allocations

This commit is contained in:
ocornut 2015-05-15 12:05:05 +01:00
parent d9b2a90773
commit d9ca8f3145
2 changed files with 4 additions and 0 deletions

View File

@ -1787,11 +1787,13 @@ static void AddWindowToRenderList(ImVector<ImDrawList*>& 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

View File

@ -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()
//------------------------------------------------------------------