mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-23 06:44:35 +00:00
Track next time to search for.
This commit is contained in:
parent
f530dfb0e9
commit
fddba168c6
@ -2346,10 +2346,11 @@ int View::DrawZoneLevel( const Vector<ZoneEvent*>& vec, bool hover, double pxns,
|
|||||||
const auto px0 = ( ev.start - m_zvStart ) * pxns;
|
const auto px0 = ( ev.start - m_zvStart ) * pxns;
|
||||||
auto px1 = ( end - m_zvStart ) * pxns;
|
auto px1 = ( end - m_zvStart ) * pxns;
|
||||||
auto rend = end;
|
auto rend = end;
|
||||||
|
auto nextTime = end + MinVisSize;
|
||||||
for(;;)
|
for(;;)
|
||||||
{
|
{
|
||||||
const auto prevIt = it;
|
const auto prevIt = it;
|
||||||
it = std::lower_bound( it, zitend, std::max( rend + nspx, end + MinVisSize ), [] ( const auto& l, const auto& r ) { return (uint64_t)l->end < (uint64_t)r; } );
|
it = std::lower_bound( it, zitend, nextTime, [] ( const auto& l, const auto& r ) { return (uint64_t)l->end < (uint64_t)r; } );
|
||||||
if( it == prevIt ) ++it;
|
if( it == prevIt ) ++it;
|
||||||
num += std::distance( prevIt, it );
|
num += std::distance( prevIt, it );
|
||||||
if( it == zitend ) break;
|
if( it == zitend ) break;
|
||||||
@ -2358,6 +2359,7 @@ int View::DrawZoneLevel( const Vector<ZoneEvent*>& vec, bool hover, double pxns,
|
|||||||
if( pxnext - px1 >= MinVisSize * 2 ) break;
|
if( pxnext - px1 >= MinVisSize * 2 ) break;
|
||||||
px1 = pxnext;
|
px1 = pxnext;
|
||||||
rend = nend;
|
rend = nend;
|
||||||
|
nextTime = nend + nspx;
|
||||||
}
|
}
|
||||||
draw->AddRectFilled( wpos + ImVec2( std::max( px0, -10.0 ), offset ), wpos + ImVec2( std::min( std::max( px1, px0+MinVisSize ), double( w + 10 ) ), offset + ty ), color );
|
draw->AddRectFilled( wpos + ImVec2( std::max( px0, -10.0 ), offset ), wpos + ImVec2( std::min( std::max( px1, px0+MinVisSize ), double( w + 10 ) ), offset + ty ), color );
|
||||||
DrawZigZag( draw, wpos + ImVec2( 0, offset + ty/2 ), std::max( px0, -10.0 ), std::min( std::max( px1, px0+MinVisSize ), double( w + 10 ) ), ty/4, DarkenColor( color ) );
|
DrawZigZag( draw, wpos + ImVec2( 0, offset + ty/2 ), std::max( px0, -10.0 ), std::min( std::max( px1, px0+MinVisSize ), double( w + 10 ) ), ty/4, DarkenColor( color ) );
|
||||||
@ -2525,18 +2527,18 @@ int View::SkipZoneLevel( const Vector<ZoneEvent*>& vec, bool hover, double pxns,
|
|||||||
if( zsz < MinVisSize )
|
if( zsz < MinVisSize )
|
||||||
{
|
{
|
||||||
auto px1 = ( end - m_zvStart ) * pxns;
|
auto px1 = ( end - m_zvStart ) * pxns;
|
||||||
auto rend = end;
|
auto nextTime = end + MinVisSize;
|
||||||
for(;;)
|
for(;;)
|
||||||
{
|
{
|
||||||
const auto prevIt = it;
|
const auto prevIt = it;
|
||||||
it = std::lower_bound( it, zitend, std::max( rend + nspx, end + MinVisSize ), [] ( const auto& l, const auto& r ) { return (uint64_t)l->end < (uint64_t)r; } );
|
it = std::lower_bound( it, zitend, nextTime, [] ( const auto& l, const auto& r ) { return (uint64_t)l->end < (uint64_t)r; } );
|
||||||
if( it == prevIt ) ++it;
|
if( it == prevIt ) ++it;
|
||||||
if( it == zitend ) break;
|
if( it == zitend ) break;
|
||||||
const auto nend = m_worker.GetZoneEnd( **it );
|
const auto nend = m_worker.GetZoneEnd( **it );
|
||||||
const auto pxnext = ( nend - m_zvStart ) * pxns;
|
const auto pxnext = ( nend - m_zvStart ) * pxns;
|
||||||
if( pxnext - px1 >= MinVisSize * 2 ) break;
|
if( pxnext - px1 >= MinVisSize * 2 ) break;
|
||||||
px1 = pxnext;
|
px1 = pxnext;
|
||||||
rend = nend;
|
nextTime = nend + nspx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -2620,10 +2622,11 @@ int View::DrawGpuZoneLevel( const Vector<GpuEvent*>& vec, bool hover, double pxn
|
|||||||
const auto px0 = ( start - m_zvStart ) * pxns;
|
const auto px0 = ( start - m_zvStart ) * pxns;
|
||||||
auto px1 = ( end - m_zvStart ) * pxns;
|
auto px1 = ( end - m_zvStart ) * pxns;
|
||||||
auto rend = end;
|
auto rend = end;
|
||||||
|
auto nextTime = end + MinVisSize;
|
||||||
for(;;)
|
for(;;)
|
||||||
{
|
{
|
||||||
const auto prevIt = it;
|
const auto prevIt = it;
|
||||||
it = std::lower_bound( it, zitend, std::max( rend + nspx, end + MinVisSize ), [] ( const auto& l, const auto& r ) { return (uint64_t)l->gpuEnd < (uint64_t)r; } );
|
it = std::lower_bound( it, zitend, nextTime, [] ( const auto& l, const auto& r ) { return (uint64_t)l->gpuEnd < (uint64_t)r; } );
|
||||||
if( it == prevIt ) ++it;
|
if( it == prevIt ) ++it;
|
||||||
num += std::distance( prevIt, it );
|
num += std::distance( prevIt, it );
|
||||||
if( it == zitend ) break;
|
if( it == zitend ) break;
|
||||||
@ -2632,6 +2635,7 @@ int View::DrawGpuZoneLevel( const Vector<GpuEvent*>& vec, bool hover, double pxn
|
|||||||
if( pxnext - px1 >= MinVisSize * 2 ) break;
|
if( pxnext - px1 >= MinVisSize * 2 ) break;
|
||||||
px1 = pxnext;
|
px1 = pxnext;
|
||||||
rend = nend;
|
rend = nend;
|
||||||
|
nextTime = nend + nspx;
|
||||||
}
|
}
|
||||||
draw->AddRectFilled( wpos + ImVec2( std::max( px0, -10.0 ), offset ), wpos + ImVec2( std::min( std::max( px1, px0+MinVisSize ), double( w + 10 ) ), offset + ty ), color );
|
draw->AddRectFilled( wpos + ImVec2( std::max( px0, -10.0 ), offset ), wpos + ImVec2( std::min( std::max( px1, px0+MinVisSize ), double( w + 10 ) ), offset + ty ), color );
|
||||||
DrawZigZag( draw, wpos + ImVec2( 0, offset + ty/2 ), std::max( px0, -10.0 ), std::min( std::max( px1, px0+MinVisSize ), double( w + 10 ) ), ty/4, DarkenColor( color ) );
|
DrawZigZag( draw, wpos + ImVec2( 0, offset + ty/2 ), std::max( px0, -10.0 ), std::min( std::max( px1, px0+MinVisSize ), double( w + 10 ) ), ty/4, DarkenColor( color ) );
|
||||||
@ -2783,18 +2787,18 @@ int View::SkipGpuZoneLevel( const Vector<GpuEvent*>& vec, bool hover, double pxn
|
|||||||
if( zsz < MinVisSize )
|
if( zsz < MinVisSize )
|
||||||
{
|
{
|
||||||
auto px1 = ( end - m_zvStart ) * pxns;
|
auto px1 = ( end - m_zvStart ) * pxns;
|
||||||
auto rend = end;
|
auto nextTime = end;
|
||||||
for(;;)
|
for(;;)
|
||||||
{
|
{
|
||||||
const auto prevIt = it;
|
const auto prevIt = it;
|
||||||
it = std::lower_bound( it, zitend, std::max( rend + nspx, end + MinVisSize ), [] ( const auto& l, const auto& r ) { return (uint64_t)l->gpuEnd < (uint64_t)r; } );
|
it = std::lower_bound( it, zitend, nextTime, [] ( const auto& l, const auto& r ) { return (uint64_t)l->gpuEnd < (uint64_t)r; } );
|
||||||
if( it == prevIt ) ++it;
|
if( it == prevIt ) ++it;
|
||||||
if( it == zitend ) break;
|
if( it == zitend ) break;
|
||||||
const auto nend = AdjustGpuTime( m_worker.GetZoneEnd( **it ), begin, drift );
|
const auto nend = AdjustGpuTime( m_worker.GetZoneEnd( **it ), begin, drift );
|
||||||
const auto pxnext = ( nend - m_zvStart ) * pxns;
|
const auto pxnext = ( nend - m_zvStart ) * pxns;
|
||||||
if( pxnext - px1 >= MinVisSize * 2 ) break;
|
if( pxnext - px1 >= MinVisSize * 2 ) break;
|
||||||
px1 = pxnext;
|
px1 = pxnext;
|
||||||
rend = nend;
|
nextTime = nend + nspx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user