mirror of
https://github.com/wolfpld/tracy.git
synced 2025-03-20 07:40:02 +08:00
Only perform search, if necessary.
This commit is contained in:
parent
6de489a34f
commit
e5ae1ea2cc
@ -9133,6 +9133,8 @@ void View::DrawFindZone()
|
|||||||
const auto groupBy = m_findZone.groupBy;
|
const auto groupBy = m_findZone.groupBy;
|
||||||
const auto highlightActive = m_findZone.highlight.active;
|
const auto highlightActive = m_findZone.highlight.active;
|
||||||
const auto limitRange = m_findZone.limitRange;
|
const auto limitRange = m_findZone.limitRange;
|
||||||
|
FindZone::Group* group = nullptr;
|
||||||
|
uint64_t lastGid = std::numeric_limits<uint64_t>::max() - 1;
|
||||||
while( processed < sz )
|
while( processed < sz )
|
||||||
{
|
{
|
||||||
auto& ev = zones[processed];
|
auto& ev = zones[processed];
|
||||||
@ -9199,13 +9201,17 @@ void View::DrawFindZone()
|
|||||||
assert( false );
|
assert( false );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
auto it = m_findZone.groups.find( gid );
|
if( lastGid != gid )
|
||||||
if( it == m_findZone.groups.end() )
|
|
||||||
{
|
{
|
||||||
it = m_findZone.groups.emplace( gid, FindZone::Group { m_findZone.groupId++ } ).first;
|
lastGid = gid;
|
||||||
it->second.zones.reserve( 1024 );
|
auto it = m_findZone.groups.find( gid );
|
||||||
|
if( it == m_findZone.groups.end() )
|
||||||
|
{
|
||||||
|
it = m_findZone.groups.emplace( gid, FindZone::Group { m_findZone.groupId++ } ).first;
|
||||||
|
it->second.zones.reserve( 1024 );
|
||||||
|
}
|
||||||
|
group = &it->second;
|
||||||
}
|
}
|
||||||
FindZone::Group* group = &it->second;
|
|
||||||
group->time += timespan;
|
group->time += timespan;
|
||||||
group->zones.push_back_non_empty( ev.Zone() );
|
group->zones.push_back_non_empty( ev.Zone() );
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user