mirror of
https://github.com/wolfpld/tracy
synced 2025-04-29 04:23:51 +00:00
Implement sorting instrumentation statistics by location.
This commit is contained in:
parent
b6562f1784
commit
c514a5caca
@ -563,7 +563,7 @@ void View::DrawStatistics()
|
||||
{
|
||||
ImGui::TableSetupScrollFreeze( 0, 1 );
|
||||
ImGui::TableSetupColumn( "Name", ImGuiTableColumnFlags_NoHide );
|
||||
ImGui::TableSetupColumn( "Location", ImGuiTableColumnFlags_NoSort );
|
||||
ImGui::TableSetupColumn( "Location" );
|
||||
ImGui::TableSetupColumn( "Total time", ImGuiTableColumnFlags_DefaultSort | ImGuiTableColumnFlags_PreferSortDescending | ImGuiTableColumnFlags_WidthFixed | ImGuiTableColumnFlags_NoResize );
|
||||
ImGui::TableSetupColumn( "Counts", ImGuiTableColumnFlags_PreferSortDescending | ImGuiTableColumnFlags_WidthFixed | ImGuiTableColumnFlags_NoResize );
|
||||
ImGui::TableSetupColumn( "MTPC", ImGuiTableColumnFlags_PreferSortDescending | ImGuiTableColumnFlags_WidthFixed | ImGuiTableColumnFlags_NoResize );
|
||||
@ -583,6 +583,28 @@ void View::DrawStatistics()
|
||||
pdqsort_branchless( srcloc.begin(), srcloc.end(), [this]( const auto& lhs, const auto& rhs ) { return strcmp( m_worker.GetZoneName( m_worker.GetSourceLocation( lhs.srcloc ) ), m_worker.GetZoneName( m_worker.GetSourceLocation( rhs.srcloc ) ) ) > 0; } );
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if( sortspec.SortDirection == ImGuiSortDirection_Ascending )
|
||||
{
|
||||
pdqsort_branchless( srcloc.begin(), srcloc.end(), [this]( const auto& lhs, const auto& rhs ) {
|
||||
const auto& sll = m_worker.GetSourceLocation( lhs.srcloc );
|
||||
const auto& slr = m_worker.GetSourceLocation( rhs.srcloc );
|
||||
const auto cmp = strcmp( m_worker.GetString( sll.file ), m_worker.GetString( slr.file ) );
|
||||
if( cmp == 0 ) return sll.line < slr.line;
|
||||
return cmp < 0;
|
||||
} );
|
||||
}
|
||||
else
|
||||
{
|
||||
pdqsort_branchless( srcloc.begin(), srcloc.end(), [this]( const auto& lhs, const auto& rhs ) {
|
||||
const auto& sll = m_worker.GetSourceLocation( lhs.srcloc );
|
||||
const auto& slr = m_worker.GetSourceLocation( rhs.srcloc );
|
||||
const auto cmp = strcmp( m_worker.GetString( sll.file ), m_worker.GetString( slr.file ) );
|
||||
if( cmp == 0 ) return sll.line > slr.line;
|
||||
return cmp > 0;
|
||||
} );
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if( sortspec.SortDirection == ImGuiSortDirection_Ascending )
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user