Use short ptr for find zone grouping data.

Overall, the short ptr changes have the following effect on memory
usage:

big         9007 MB -> 8670 MB (96%)
chicken     2007 MB -> 1932 MB (96%)
drl-l-b     1383 MB -> 1304 MB (94%)
q3bsp-mt    5252 MB -> 5059 MB (96%)
long        5152 MB -> 4799 MB (93%)
fi-big      4141 MB -> 4000 MB (96%)
This commit is contained in:
Bartosz Taudul 2019-11-02 16:40:23 +01:00
parent 0df29d1e0b
commit ce82bb816b
2 changed files with 5 additions and 5 deletions

View File

@ -8915,7 +8915,7 @@ void View::DrawFindZone()
ImGui::End(); ImGui::End();
} }
void View::DrawZoneList( const Vector<ZoneEvent*>& zones ) void View::DrawZoneList( const Vector<short_ptr<ZoneEvent>>& zones )
{ {
ImGui::Columns( 3 ); ImGui::Columns( 3 );
ImGui::Separator(); ImGui::Separator();
@ -8929,8 +8929,8 @@ void View::DrawZoneList( const Vector<ZoneEvent*>& zones )
ImGui::NextColumn(); ImGui::NextColumn();
ImGui::Separator(); ImGui::Separator();
const Vector<ZoneEvent*>* zonesToIterate = &zones; const Vector<short_ptr<ZoneEvent>>* zonesToIterate = &zones;
Vector<ZoneEvent*> sortedZones; Vector<short_ptr<ZoneEvent>> sortedZones;
if( m_findZone.tableSortBy != FindZone::TableSortBy::Starttime ) if( m_findZone.tableSortBy != FindZone::TableSortBy::Starttime )
{ {

View File

@ -156,7 +156,7 @@ private:
flat_hash_map<uint64_t, CallstackFrameTree, nohash<uint64_t>> GetCallstackFrameTreeBottomUp( const MemData& mem ) const; flat_hash_map<uint64_t, CallstackFrameTree, nohash<uint64_t>> GetCallstackFrameTreeBottomUp( const MemData& mem ) const;
flat_hash_map<uint64_t, CallstackFrameTree, nohash<uint64_t>> GetCallstackFrameTreeTopDown( const MemData& mem ) const; flat_hash_map<uint64_t, CallstackFrameTree, nohash<uint64_t>> GetCallstackFrameTreeTopDown( const MemData& mem ) const;
void DrawFrameTreeLevel( const flat_hash_map<uint64_t, CallstackFrameTree, nohash<uint64_t>>& tree, int& idx ); void DrawFrameTreeLevel( const flat_hash_map<uint64_t, CallstackFrameTree, nohash<uint64_t>>& tree, int& idx );
void DrawZoneList( const Vector<ZoneEvent*>& zones ); void DrawZoneList( const Vector<short_ptr<ZoneEvent>>& zones );
void DrawInfoWindow(); void DrawInfoWindow();
void DrawZoneInfoWindow(); void DrawZoneInfoWindow();
@ -388,7 +388,7 @@ private:
struct Group struct Group
{ {
Vector<ZoneEvent*> zones; Vector<short_ptr<ZoneEvent>> zones;
int64_t time = 0; int64_t time = 0;
}; };