mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-27 00:04:35 +00:00
Display histogram time range on histogram.
This commit is contained in:
parent
276d764141
commit
c1b70c6519
@ -5856,6 +5856,27 @@ uint64_t View::GetSelectionTarget( const Worker::ZoneThreadData& ev, FindZone::G
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void DrawHistogramMinMaxLabel( ImDrawList* draw, int64_t tmin, int64_t tmax, ImVec2 wpos, float w, float ty )
|
||||||
|
{
|
||||||
|
const auto mintxt = TimeToString( tmin );
|
||||||
|
const auto maxtxt = TimeToString( tmax );
|
||||||
|
const auto maxsz = ImGui::CalcTextSize( maxtxt ).x;
|
||||||
|
draw->AddLine( wpos, wpos + ImVec2( 0, round( ty * 1.5 ) ), 0x66FFFFFF );
|
||||||
|
draw->AddLine( wpos + ImVec2( w-1, 0 ), wpos + ImVec2( w-1, round( ty * 1.5 ) ), 0x66FFFFFF );
|
||||||
|
draw->AddText( wpos + ImVec2( 0, round( ty * 1.5 ) ), 0x66FFFFFF, mintxt );
|
||||||
|
draw->AddText( wpos + ImVec2( w-1-maxsz, round( ty * 1.5 ) ), 0x66FFFFFF, maxtxt );
|
||||||
|
|
||||||
|
char range[64];
|
||||||
|
#ifdef TRACY_EXTENDED_FONT
|
||||||
|
sprintf( range, ICON_FA_LONG_ARROW_ALT_LEFT " %s " ICON_FA_LONG_ARROW_ALT_RIGHT, TimeToString( tmax - tmin ) );
|
||||||
|
#else
|
||||||
|
sprintf( range, "<- %s ->", TimeToString( tmax - tmin ) );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const auto rsz = ImGui::CalcTextSize( range ).x;
|
||||||
|
draw->AddText( wpos + ImVec2( round( (w-1-rsz) * 0.5 ), round( ty * 1.5 ) ), 0x66FFFFFF, range );
|
||||||
|
}
|
||||||
|
|
||||||
void View::DrawFindZone()
|
void View::DrawFindZone()
|
||||||
{
|
{
|
||||||
if( m_shortcut == ShortcutAction::OpenFind ) ImGui::SetNextWindowFocus();
|
if( m_shortcut == ShortcutAction::OpenFind ) ImGui::SetNextWindowFocus();
|
||||||
@ -6304,9 +6325,6 @@ void View::DrawFindZone()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TextDisabledUnformatted( "Time range:" );
|
|
||||||
ImGui::SameLine();
|
|
||||||
ImGui::Text( "%s - %s (%s)", TimeToString( tmin ), TimeToString( tmax ), TimeToString( tmax - tmin ) );
|
|
||||||
TextFocused( "Total time:", TimeToString( timeTotal ) );
|
TextFocused( "Total time:", TimeToString( timeTotal ) );
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
ImGui::Spacing();
|
ImGui::Spacing();
|
||||||
@ -6423,7 +6441,7 @@ void View::DrawFindZone()
|
|||||||
const auto Height = 200 * ImGui::GetTextLineHeight() / 15.f;
|
const auto Height = 200 * ImGui::GetTextLineHeight() / 15.f;
|
||||||
const auto wpos = ImGui::GetCursorScreenPos();
|
const auto wpos = ImGui::GetCursorScreenPos();
|
||||||
|
|
||||||
ImGui::InvisibleButton( "##histogram", ImVec2( w, Height + round( ty * 1.5 ) ) );
|
ImGui::InvisibleButton( "##histogram", ImVec2( w, Height + round( ty * 2.5 ) ) );
|
||||||
const bool hover = ImGui::IsItemHovered();
|
const bool hover = ImGui::IsItemHovered();
|
||||||
|
|
||||||
auto draw = ImGui::GetWindowDrawList();
|
auto draw = ImGui::GetWindowDrawList();
|
||||||
@ -6466,6 +6484,8 @@ void View::DrawFindZone()
|
|||||||
const auto xoff = 2;
|
const auto xoff = 2;
|
||||||
const auto yoff = Height + 1;
|
const auto yoff = Height + 1;
|
||||||
|
|
||||||
|
DrawHistogramMinMaxLabel( draw, tmin, tmax, wpos + ImVec2( 0, yoff ), w, ty );
|
||||||
|
|
||||||
if( m_findZone.logTime )
|
if( m_findZone.logTime )
|
||||||
{
|
{
|
||||||
const auto ltmin = log10( tmin );
|
const auto ltmin = log10( tmin );
|
||||||
@ -7409,10 +7429,6 @@ void View::DrawCompare()
|
|||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
DrawHelpMarker( "Normalization will fudge reported data values!" );
|
DrawHelpMarker( "Normalization will fudge reported data values!" );
|
||||||
|
|
||||||
TextDisabledUnformatted( "Time range:" );
|
|
||||||
ImGui::SameLine();
|
|
||||||
ImGui::Text( "%s - %s (%s)", TimeToString( tmin ), TimeToString( tmax ), TimeToString( tmax - tmin ) );
|
|
||||||
|
|
||||||
const auto cumulateTime = m_compare.cumulateTime;
|
const auto cumulateTime = m_compare.cumulateTime;
|
||||||
|
|
||||||
if( tmax - tmin > 0 )
|
if( tmax - tmin > 0 )
|
||||||
@ -7705,7 +7721,7 @@ void View::DrawCompare()
|
|||||||
const auto Height = 200 * ImGui::GetTextLineHeight() / 15.f;
|
const auto Height = 200 * ImGui::GetTextLineHeight() / 15.f;
|
||||||
const auto wpos = ImGui::GetCursorScreenPos();
|
const auto wpos = ImGui::GetCursorScreenPos();
|
||||||
|
|
||||||
ImGui::InvisibleButton( "##histogram", ImVec2( w, Height + round( ty * 1.5 ) ) );
|
ImGui::InvisibleButton( "##histogram", ImVec2( w, Height + round( ty * 2.5 ) ) );
|
||||||
const bool hover = ImGui::IsItemHovered();
|
const bool hover = ImGui::IsItemHovered();
|
||||||
|
|
||||||
auto draw = ImGui::GetWindowDrawList();
|
auto draw = ImGui::GetWindowDrawList();
|
||||||
@ -7766,6 +7782,8 @@ void View::DrawCompare()
|
|||||||
const auto xoff = 2;
|
const auto xoff = 2;
|
||||||
const auto yoff = Height + 1;
|
const auto yoff = Height + 1;
|
||||||
|
|
||||||
|
DrawHistogramMinMaxLabel( draw, tmin, tmax, wpos + ImVec2( 0, yoff ), w, ty );
|
||||||
|
|
||||||
if( m_compare.logTime )
|
if( m_compare.logTime )
|
||||||
{
|
{
|
||||||
const auto ltmin = log10( tmin );
|
const auto ltmin = log10( tmin );
|
||||||
@ -8554,10 +8572,6 @@ void View::DrawInfo()
|
|||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
SmallCheckbox( "Log time", &m_frameSortData.logTime );
|
SmallCheckbox( "Log time", &m_frameSortData.logTime );
|
||||||
|
|
||||||
TextDisabledUnformatted( "Time range:" );
|
|
||||||
ImGui::SameLine();
|
|
||||||
ImGui::Text( "%s - %s (%s)", TimeToString( tmin ), TimeToString( tmax ), TimeToString( tmax - tmin ) );
|
|
||||||
|
|
||||||
TextDisabledUnformatted( "FPS range:" );
|
TextDisabledUnformatted( "FPS range:" );
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
ImGui::Text( "%s FPS - %s FPS", RealToString( round( 1000000000.0 / tmin ), true ), RealToString( round( 1000000000.0 / tmax ), true ) );
|
ImGui::Text( "%s FPS - %s FPS", RealToString( round( 1000000000.0 / tmin ), true ), RealToString( round( 1000000000.0 / tmax ), true ) );
|
||||||
@ -8686,7 +8700,7 @@ void View::DrawInfo()
|
|||||||
const auto Height = 200 * ImGui::GetTextLineHeight() / 15.f;
|
const auto Height = 200 * ImGui::GetTextLineHeight() / 15.f;
|
||||||
const auto wpos = ImGui::GetCursorScreenPos();
|
const auto wpos = ImGui::GetCursorScreenPos();
|
||||||
|
|
||||||
ImGui::InvisibleButton( "##histogram", ImVec2( w, Height + round( ty * 1.5 ) ) );
|
ImGui::InvisibleButton( "##histogram", ImVec2( w, Height + round( ty * 2.5 ) ) );
|
||||||
const bool hover = ImGui::IsItemHovered();
|
const bool hover = ImGui::IsItemHovered();
|
||||||
|
|
||||||
auto draw = ImGui::GetWindowDrawList();
|
auto draw = ImGui::GetWindowDrawList();
|
||||||
@ -8721,6 +8735,8 @@ void View::DrawInfo()
|
|||||||
const auto xoff = 2;
|
const auto xoff = 2;
|
||||||
const auto yoff = Height + 1;
|
const auto yoff = Height + 1;
|
||||||
|
|
||||||
|
DrawHistogramMinMaxLabel( draw, tmin, tmax, wpos + ImVec2( 0, yoff ), w, ty );
|
||||||
|
|
||||||
if( m_frameSortData.logTime )
|
if( m_frameSortData.logTime )
|
||||||
{
|
{
|
||||||
const auto ltmin = log10( tmin );
|
const auto ltmin = log10( tmin );
|
||||||
|
Loading…
Reference in New Issue
Block a user