From 7c277234e78444d37c96c497450f0ab57530ae8b Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Sun, 10 Nov 2019 01:36:13 +0100 Subject: [PATCH] Load GPU zones into magic vectors. --- server/TracyWorker.cpp | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index 5ca602d7..5d8c131f 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -5280,18 +5280,15 @@ void Worker::ReadTimelinePre0510( FileRead& f, Vector>& _ve while( ++zone != end ); } -void Worker::ReadTimeline( FileRead& f, Vector>& vec, uint64_t size, int64_t& refTime, int64_t& refGpuTime, int32_t& childIdx ) +void Worker::ReadTimeline( FileRead& f, Vector>& _vec, uint64_t size, int64_t& refTime, int64_t& refGpuTime, int32_t& childIdx ) { assert( size != 0 ); + auto& vec = *(Vector*)( &_vec ); + vec.set_magic(); vec.reserve_exact( size, m_slab ); m_data.gpuCnt += size; - auto zone = (GpuEvent*)m_slab.AllocBig( sizeof( GpuEvent ) * size ); - auto zptr = zone; - auto vptr = vec.data(); - for( uint64_t i=0; i>& vec, uint64 zone->SetCpuEnd( refTime ); zone->SetGpuEnd( refGpuTime ); } - while( ++zone != zptr ); + while( ++zone != end ); } -void Worker::ReadTimelinePre0510( FileRead& f, Vector>& vec, uint64_t size, int64_t& refTime, int64_t& refGpuTime, int fileVer ) +void Worker::ReadTimelinePre0510( FileRead& f, Vector>& _vec, uint64_t size, int64_t& refTime, int64_t& refGpuTime, int fileVer ) { assert( size != 0 ); + auto& vec = *(Vector*)( &_vec ); + vec.set_magic(); vec.reserve_exact( size, m_slab ); m_data.gpuCnt += size; - - for( uint64_t i=0; i(); - vec[i] = zone; if( fileVer <= FileVersion( 0, 4, 1 ) ) { @@ -5441,6 +5439,7 @@ void Worker::ReadTimelinePre0510( FileRead& f, Vector>& vec, zone->SetGpuEnd( gpuEnd ); } } + while( ++zone != end ); } void Worker::Disconnect()