DarkRadiant: master acc606cc
Author | Committer | Branch | Timestamp | Parent |
---|---|---|---|---|
orbweaver | orbweaver | master | 03.03.2021 20:14 | master 7dbe8cfb |
Changeset | Remove string sharing mechanism from EntityClassAttribute Sharing of strings was added to solve a specific problem with memory usage when attributes (including those with long strings like editor_usage) were copied into hundreds of child entities. Since we are no longer copying inherited attributes but allowing children to access them directly, this mechanism is largely redundant. There might be a *slight* increase in memory usage (compared to the previous commit) now that the EntityAttributeMap is storing name strings twice (once in the key, and once in the EntityClassAttribute::_name member), but I assume this is OK since the overall number of EntityClassAttributes is drastically reduced due to the lack of copying, and the lengthy editor_usage values are not duplicated. |
|||
mod - include/ieclass.h | Diff File | |||
mod - radiantcore/eclass/EntityClass.cpp | Diff File | |||
mod - radiantcore/eclass/EntityClass.h | Diff File |