mirror of
https://github.com/wolfpld/tracy
synced 2025-04-30 12:53:51 +00:00
Favor transfer of zones without predicted payload.
This commit is contained in:
parent
630db7112a
commit
c431747f06
@ -269,6 +269,8 @@ Profiler::DequeueStatus Profiler::Dequeue( moodycamel::ConsumerToken& token )
|
|||||||
while( item != end )
|
while( item != end )
|
||||||
{
|
{
|
||||||
uint64_t ptr;
|
uint64_t ptr;
|
||||||
|
if( item->hdr.idx < (int)QueueType::Terminate )
|
||||||
|
{
|
||||||
switch( item->hdr.type )
|
switch( item->hdr.type )
|
||||||
{
|
{
|
||||||
case QueueType::ZoneText:
|
case QueueType::ZoneText:
|
||||||
@ -287,8 +289,10 @@ Profiler::DequeueStatus Profiler::Dequeue( moodycamel::ConsumerToken& token )
|
|||||||
tracy_free( (void*)ptr );
|
tracy_free( (void*)ptr );
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
assert( false );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if( !AppendData( item, QueueDataSize[item->hdr.idx] ) ) return ConnectionLost;
|
if( !AppendData( item, QueueDataSize[item->hdr.idx] ) ) return ConnectionLost;
|
||||||
item++;
|
item++;
|
||||||
}
|
}
|
||||||
|
@ -8,19 +8,19 @@ namespace tracy
|
|||||||
|
|
||||||
enum class QueueType : uint8_t
|
enum class QueueType : uint8_t
|
||||||
{
|
{
|
||||||
|
ZoneText,
|
||||||
|
Message,
|
||||||
|
ZoneBeginAllocSrcLoc,
|
||||||
Terminate,
|
Terminate,
|
||||||
ZoneBegin,
|
ZoneBegin,
|
||||||
ZoneBeginAllocSrcLoc,
|
|
||||||
ZoneEnd,
|
ZoneEnd,
|
||||||
FrameMarkMsg,
|
FrameMarkMsg,
|
||||||
SourceLocation,
|
SourceLocation,
|
||||||
ZoneText,
|
|
||||||
LockWait,
|
LockWait,
|
||||||
LockObtain,
|
LockObtain,
|
||||||
LockRelease,
|
LockRelease,
|
||||||
LockMark,
|
LockMark,
|
||||||
PlotData,
|
PlotData,
|
||||||
Message,
|
|
||||||
MessageLiteral,
|
MessageLiteral,
|
||||||
GpuNewContext,
|
GpuNewContext,
|
||||||
GpuZoneBegin,
|
GpuZoneBegin,
|
||||||
@ -200,19 +200,20 @@ struct QueueItem
|
|||||||
enum { QueueItemSize = sizeof( QueueItem ) };
|
enum { QueueItemSize = sizeof( QueueItem ) };
|
||||||
|
|
||||||
static const size_t QueueDataSize[] = {
|
static const size_t QueueDataSize[] = {
|
||||||
|
sizeof( QueueHeader ) + sizeof( QueueZoneText ),
|
||||||
|
sizeof( QueueHeader ) + sizeof( QueueMessage ),
|
||||||
|
sizeof( QueueHeader ) + sizeof( QueueZoneBegin ), // allocated source location
|
||||||
|
// above items must be first
|
||||||
sizeof( QueueHeader ), // terminate
|
sizeof( QueueHeader ), // terminate
|
||||||
sizeof( QueueHeader ) + sizeof( QueueZoneBegin ),
|
sizeof( QueueHeader ) + sizeof( QueueZoneBegin ),
|
||||||
sizeof( QueueHeader ) + sizeof( QueueZoneBegin ), // allocated source location
|
|
||||||
sizeof( QueueHeader ) + sizeof( QueueZoneEnd ),
|
sizeof( QueueHeader ) + sizeof( QueueZoneEnd ),
|
||||||
sizeof( QueueHeader ) + sizeof( QueueFrameMark ),
|
sizeof( QueueHeader ) + sizeof( QueueFrameMark ),
|
||||||
sizeof( QueueHeader ) + sizeof( QueueSourceLocation ),
|
sizeof( QueueHeader ) + sizeof( QueueSourceLocation ),
|
||||||
sizeof( QueueHeader ) + sizeof( QueueZoneText ),
|
|
||||||
sizeof( QueueHeader ) + sizeof( QueueLockWait ),
|
sizeof( QueueHeader ) + sizeof( QueueLockWait ),
|
||||||
sizeof( QueueHeader ) + sizeof( QueueLockObtain ),
|
sizeof( QueueHeader ) + sizeof( QueueLockObtain ),
|
||||||
sizeof( QueueHeader ) + sizeof( QueueLockRelease ),
|
sizeof( QueueHeader ) + sizeof( QueueLockRelease ),
|
||||||
sizeof( QueueHeader ) + sizeof( QueueLockMark ),
|
sizeof( QueueHeader ) + sizeof( QueueLockMark ),
|
||||||
sizeof( QueueHeader ) + sizeof( QueuePlotData ),
|
sizeof( QueueHeader ) + sizeof( QueuePlotData ),
|
||||||
sizeof( QueueHeader ) + sizeof( QueueMessage ),
|
|
||||||
sizeof( QueueHeader ) + sizeof( QueueMessage ), // literal
|
sizeof( QueueHeader ) + sizeof( QueueMessage ), // literal
|
||||||
sizeof( QueueHeader ) + sizeof( QueueGpuNewContext ),
|
sizeof( QueueHeader ) + sizeof( QueueGpuNewContext ),
|
||||||
sizeof( QueueHeader ) + sizeof( QueueGpuZoneBegin ),
|
sizeof( QueueHeader ) + sizeof( QueueGpuZoneBegin ),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user