mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-25 23:44:35 +00:00
Include plots, msgs, gpu zones, locks in last time calculation.
This commit is contained in:
parent
6942f84a99
commit
0f2d41413f
@ -812,6 +812,7 @@ void View::ProcessPlotData( const QueuePlotData& ev )
|
|||||||
}
|
}
|
||||||
|
|
||||||
const auto time = int64_t( ev.time * m_timerMul );
|
const auto time = int64_t( ev.time * m_timerMul );
|
||||||
|
m_lastTime = std::max( m_lastTime, time );
|
||||||
switch( ev.type )
|
switch( ev.type )
|
||||||
{
|
{
|
||||||
case PlotDataType::Double:
|
case PlotDataType::Double:
|
||||||
@ -836,6 +837,7 @@ void View::ProcessMessage( const QueueMessage& ev )
|
|||||||
auto msg = m_slab.Alloc<MessageData>();
|
auto msg = m_slab.Alloc<MessageData>();
|
||||||
msg->time = int64_t( ev.time * m_timerMul );
|
msg->time = int64_t( ev.time * m_timerMul );
|
||||||
msg->ref = StringRef( StringRef::Type::Idx, it->second.idx );
|
msg->ref = StringRef( StringRef::Type::Idx, it->second.idx );
|
||||||
|
m_lastTime = std::max( m_lastTime, msg->time );
|
||||||
InsertMessageData( msg, ev.thread );
|
InsertMessageData( msg, ev.thread );
|
||||||
m_pendingCustomStrings.erase( it );
|
m_pendingCustomStrings.erase( it );
|
||||||
}
|
}
|
||||||
@ -846,6 +848,7 @@ void View::ProcessMessageLiteral( const QueueMessage& ev )
|
|||||||
auto msg = m_slab.Alloc<MessageData>();
|
auto msg = m_slab.Alloc<MessageData>();
|
||||||
msg->time = int64_t( ev.time * m_timerMul );
|
msg->time = int64_t( ev.time * m_timerMul );
|
||||||
msg->ref = StringRef( StringRef::Type::Ptr, ev.text );
|
msg->ref = StringRef( StringRef::Type::Ptr, ev.text );
|
||||||
|
m_lastTime = std::max( m_lastTime, msg->time );
|
||||||
InsertMessageData( msg, ev.thread );
|
InsertMessageData( msg, ev.thread );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -880,6 +883,8 @@ void View::ProcessGpuZoneBegin( const QueueGpuZoneBegin& ev )
|
|||||||
zone->gpuEnd = -1;
|
zone->gpuEnd = -1;
|
||||||
zone->srcloc = ShrinkSourceLocation( ev.srcloc );
|
zone->srcloc = ShrinkSourceLocation( ev.srcloc );
|
||||||
|
|
||||||
|
m_lastTime = std::max( m_lastTime, zone->cpuStart );
|
||||||
|
|
||||||
auto timeline = &ctx->timeline;
|
auto timeline = &ctx->timeline;
|
||||||
if( !ctx->stack.empty() )
|
if( !ctx->stack.empty() )
|
||||||
{
|
{
|
||||||
@ -903,6 +908,7 @@ void View::ProcessGpuZoneEnd( const QueueGpuZoneEnd& ev )
|
|||||||
ctx->queue.push_back( zone );
|
ctx->queue.push_back( zone );
|
||||||
|
|
||||||
zone->cpuEnd = ev.cpuTime * m_timerMul;
|
zone->cpuEnd = ev.cpuTime * m_timerMul;
|
||||||
|
m_lastTime = std::max( m_lastTime, zone->cpuEnd );
|
||||||
}
|
}
|
||||||
|
|
||||||
void View::ProcessGpuTime( const QueueGpuTime& ev )
|
void View::ProcessGpuTime( const QueueGpuTime& ev )
|
||||||
@ -915,11 +921,13 @@ void View::ProcessGpuTime( const QueueGpuTime& ev )
|
|||||||
if( zone->gpuStart == std::numeric_limits<int64_t>::max() )
|
if( zone->gpuStart == std::numeric_limits<int64_t>::max() )
|
||||||
{
|
{
|
||||||
zone->gpuStart = ctx->timeDiff + ev.gpuTime;
|
zone->gpuStart = ctx->timeDiff + ev.gpuTime;
|
||||||
|
m_lastTime = std::max( m_lastTime, zone->gpuStart );
|
||||||
ctx->count++;
|
ctx->count++;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
zone->gpuEnd = ctx->timeDiff + ev.gpuTime;
|
zone->gpuEnd = ctx->timeDiff + ev.gpuTime;
|
||||||
|
m_lastTime = std::max( m_lastTime, zone->gpuEnd );
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx->queue.erase( ctx->queue.begin() );
|
ctx->queue.erase( ctx->queue.begin() );
|
||||||
@ -1216,6 +1224,8 @@ void View::NewZone( ZoneEvent* zone, uint64_t thread )
|
|||||||
|
|
||||||
void View::InsertLockEvent( LockMap& lockmap, LockEvent* lev, uint64_t thread )
|
void View::InsertLockEvent( LockMap& lockmap, LockEvent* lev, uint64_t thread )
|
||||||
{
|
{
|
||||||
|
m_lastTime = std::max( m_lastTime, lev->time );
|
||||||
|
|
||||||
NoticeThread( thread );
|
NoticeThread( thread );
|
||||||
|
|
||||||
auto it = lockmap.threadMap.find( thread );
|
auto it = lockmap.threadMap.find( thread );
|
||||||
|
Loading…
Reference in New Issue
Block a user