From fd59ac0125f813c6faaebe8b27e09234149f8bb3 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Wed, 2 May 2018 17:23:32 +0200 Subject: [PATCH] Only calculate zone child data if child list is displayed. --- server/TracyView.cpp | 56 ++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/server/TracyView.cpp b/server/TracyView.cpp index 3144fd48..69ef6b1e 100644 --- a/server/TracyView.cpp +++ b/server/TracyView.cpp @@ -2718,20 +2718,6 @@ void View::DrawZoneInfoWindow() } } - auto ctt = std::make_unique( ev.child.size() ); - auto cti = std::make_unique( ev.child.size() ); - uint64_t ctime = 0; - for( size_t i=0; istart; - ctime += ct; - ctt[i] = ct; - cti[i] = uint32_t( i ); - } - - pdqsort_branchless( cti.get(), cti.get() + ev.child.size(), [&ctt] ( const auto& lhs, const auto& rhs ) { return ctt[lhs] > ctt[rhs]; } ); - if( !ev.child.empty() ) { bool expand = ImGui::TreeNode( "Child zones" ); @@ -2739,6 +2725,20 @@ void View::DrawZoneInfoWindow() ImGui::TextDisabled( "(%s)", RealToString( ev.child.size(), true ) ); if( expand ) { + auto ctt = std::make_unique( ev.child.size() ); + auto cti = std::make_unique( ev.child.size() ); + uint64_t ctime = 0; + for( size_t i=0; istart; + ctime += ct; + ctt[i] = ct; + cti[i] = uint32_t( i ); + } + + pdqsort_branchless( cti.get(), cti.get() + ev.child.size(), [&ctt] ( const auto& lhs, const auto& rhs ) { return ctt[lhs] > ctt[rhs]; } ); + const auto ty = ImGui::GetTextLineHeight(); ImGui::Columns( 2 ); ImGui::TextColored( ImVec4( 1.0f, 1.0f, 0.4f, 1.0f ), "Self time" ); @@ -2877,20 +2877,6 @@ void View::DrawGpuInfoWindow() } } - auto ctt = std::make_unique( ev.child.size() ); - auto cti = std::make_unique( ev.child.size() ); - uint64_t ctime = 0; - for( size_t i=0; igpuStart; - ctime += ct; - ctt[i] = ct; - cti[i] = uint32_t( i ); - } - - pdqsort_branchless( cti.get(), cti.get() + ev.child.size(), [&ctt] ( const auto& lhs, const auto& rhs ) { return ctt[lhs] > ctt[rhs]; } ); - if( !ev.child.empty() ) { bool expand = ImGui::TreeNode( "Child zones" ); @@ -2898,6 +2884,20 @@ void View::DrawGpuInfoWindow() ImGui::TextDisabled( "(%s)", RealToString( ev.child.size(), true ) ); if( expand ) { + auto ctt = std::make_unique( ev.child.size() ); + auto cti = std::make_unique( ev.child.size() ); + uint64_t ctime = 0; + for( size_t i=0; igpuStart; + ctime += ct; + ctt[i] = ct; + cti[i] = uint32_t( i ); + } + + pdqsort_branchless( cti.get(), cti.get() + ev.child.size(), [&ctt] ( const auto& lhs, const auto& rhs ) { return ctt[lhs] > ctt[rhs]; } ); + const auto ty = ImGui::GetTextLineHeight(); ImGui::Columns( 2 ); ImGui::TextColored( ImVec4( 1.0f, 1.0f, 0.4f, 1.0f ), "Self time" );