diff --git a/server/TracyView.cpp b/server/TracyView.cpp index 43a62614..91cbae68 100644 --- a/server/TracyView.cpp +++ b/server/TracyView.cpp @@ -6355,30 +6355,35 @@ void View::DrawInfo() TextFocused( "Call stack frames:", RealToString( m_worker.GetCallstackFrameCount(), true ) ); { const auto fsz = m_worker.GetFrameCount( *m_frames ); - Vector data; - data.reserve_exact( fsz ); - auto ptr = data.data(); - size_t total = 0; - for( size_t i=0; iname == 0 ? "Frames" : m_worker.GetString( m_frames->name ) ); TextFocused( "Count:", RealToString( fsz, true ) ); - TextFocused( "Average frame time:", TimeToString( average ) ); + TextFocused( "Average frame time:", TimeToString( m_frameSortData.average ) ); ImGui::SameLine(); - ImGui::TextDisabled( "(%s FPS)", RealToString( round( 1000000000.0 / average ), true ) ); - TextFocused( "Median frame time:", TimeToString( median ) ); + ImGui::TextDisabled( "(%s FPS)", RealToString( round( 1000000000.0 / m_frameSortData.average ), true ) ); + TextFocused( "Median frame time:", TimeToString( m_frameSortData.median ) ); ImGui::SameLine(); - ImGui::TextDisabled( "(%s FPS)", RealToString( round( 1000000000.0 / median ), true ) ); + ImGui::TextDisabled( "(%s FPS)", RealToString( round( 1000000000.0 / m_frameSortData.median ), true ) ); } ImGui::Separator(); TextFocused( "Host info:", m_worker.GetHostInfo().c_str() ); diff --git a/server/TracyView.hpp b/server/TracyView.hpp index 02f89978..8f4893cf 100644 --- a/server/TracyView.hpp +++ b/server/TracyView.hpp @@ -355,6 +355,14 @@ private: uint64_t ptrFind = 0; bool restrictTime = false; } m_memInfo; + + struct { + std::vector data; + const FrameData* frameSet = nullptr; + size_t frameNum = 0; + float average = 0; + float median = 0; + } m_frameSortData; }; }