8 Months Ago
Reapplying changes from map_perf_improvements, the merge for that branch was too messy so I'll just reapply the changes with the new vending machine UI in mind The test scene for these changes is 4 clusters of 100 vending machines each, baseline takes 109ms with 3.1mb of GC to populate the map Don't spawn the child vending machine icons for the cluster icons, they're not used anymore so this saves a huge amount of instantiations (saves 2.5mb of allocations and 91ms) Convert the material params in MapView update into cached ints (saves 0.06ms every frame while map is open) Add a Poolable component to the ShopMarker and Shop marker cluster Fix the client side vending machine data not getting returned to the pool when a marker is populated Converted the drone marketplace map view to spawn the child vending machine markers on demand rather than when the map is opened and closed Final result: 6.56ms and 35.2kb of GC