Closed Toreole closed 11 months ago
Okay heres a funny thing at the end of ParseEncounter, there is only one combatlogevent[] array. but after the method returns, and e.g. you get to GenerateDamageDoneBreakdown in the SingleEncounterView, there are suddenly 3 CombatlogEvent[] arrays:
Update: the empty array was being created by the default value of the EncounterInfo.CombatlogEvents property. that is gone now.
i really do not understand why empty arrays, that arent referenced by anything, are not freed up?
Already did this with strings where i went from 8MB to 1MB of duplicate strings But there are still 4MB of sparse arrays. some offenders that are guaranteed to be because of me:
CombatlogEvent[] - 610KB - example: 38% unused, array length: 204606
AdvancedParamEvent[] - 331KB - example: 25% unused, array length: 163840
DamageEvent[] - 84KB and other events too of course.
PowerType[] - 107KB - (many of these are 4B each, with 100% (1) unused, which would just be Mana, i think that can be safely ignored.)