diff --git a/server/TracyVersion.hpp b/server/TracyVersion.hpp index 579a5d3c..738027a9 100644 --- a/server/TracyVersion.hpp +++ b/server/TracyVersion.hpp @@ -7,7 +7,7 @@ namespace Version { enum { Major = 0 }; enum { Minor = 7 }; -enum { Patch = 9 }; +enum { Patch = 10 }; } } diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index 1f785ef8..8d0d0a71 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -1084,34 +1084,74 @@ Worker::Worker( FileRead& f, EventType::Type eventMask, bool bgTasks ) { m_data.plots.Data().reserve( sz ); s_loadProgress.subTotal.store( sz, std::memory_order_relaxed ); - for( uint64_t i=0; i= FileVersion( 0, 7, 10 ) ) { - s_loadProgress.subProgress.store( i, std::memory_order_relaxed ); - auto pd = m_slab.AllocInit(); - uint64_t psz; - f.Read6( pd->type, pd->format, pd->name, pd->min, pd->max, psz ); - pd->data.reserve_exact( psz, m_slab ); - auto ptr = pd->data.data(); - int64_t refTime = 0; - for( uint64_t j=0; jval ); - refTime += t; - ptr->time = refTime; - ptr++; + s_loadProgress.subProgress.store( i, std::memory_order_relaxed ); + auto pd = m_slab.AllocInit(); + uint64_t psz; + f.Read7( pd->type, pd->format, pd->name, pd->min, pd->max, pd->sum, psz ); + pd->data.reserve_exact( psz, m_slab ); + auto ptr = pd->data.data(); + int64_t refTime = 0; + for( uint64_t j=0; jval ); + refTime += t; + ptr->time = refTime; + ptr++; + } + m_data.plots.Data().push_back_no_space_check( pd ); + } + } + else + { + for( uint64_t i=0; i(); + uint64_t psz; + f.Read6( pd->type, pd->format, pd->name, pd->min, pd->max, psz ); + pd->sum = 0; + pd->data.reserve_exact( psz, m_slab ); + auto ptr = pd->data.data(); + int64_t refTime = 0; + for( uint64_t j=0; jval ); + pd->sum += ptr->val; + refTime += t; + ptr->time = refTime; + ptr++; + } + m_data.plots.Data().push_back_no_space_check( pd ); } - m_data.plots.Data().push_back_no_space_check( pd ); } } else { - for( uint64_t i=0; i= FileVersion( 0, 7, 10 ) ) { - f.Skip( sizeof( PlotData::name ) + sizeof( PlotData::min ) + sizeof( PlotData::max ) + sizeof( PlotData::type ) + sizeof( PlotData::format ) ); - uint64_t psz; - f.Read( psz ); - f.Skip( psz * ( sizeof( uint64_t ) + sizeof( double ) ) ); + for( uint64_t i=0; iname, sizeof( plot->name ) ); f.Write( &plot->min, sizeof( plot->min ) ); f.Write( &plot->max, sizeof( plot->max ) ); + f.Write( &plot->sum, sizeof( plot->sum ) ); int64_t refTime = 0; sz = plot->data.size(); f.Write( &sz, sizeof( sz ) );