Doesn't the same apply for all things in memory? If you have a single dumy entity per hive you still need to allocate and deallocate it.
Yes - the (constant - two) entities would still need to be allocated / deallocated. But we can hold a constant number of references on the stack, where as the latter would require a table to keep the references each time a cybran engineer decides to build something and spawns drones. That table is part of the heap, where we keep a reference to the table on the stack. Common example when table re-allocation is quite high: when assisting a factory the drones tend to go away before the next unit is made. This means that for each unit we make / assist we allocate tables that we just threw out.
I just wanted to remind that we don't have to try to fix every performance issue by focusing on the cybran drones and there are other topics to tackle that won't have any visual implications at all.
I understand, but I also think that if we can do without then why should we go with. Note that:
- t1 engineers are the most common engineers, and they look exactly the same as they did before.
- Hives are typically build in groups, and once you have more than 5 hives they essentially look the same unless you keep staring at it intensely.
- t2 / t3 engineers and the (support) command units are aesthetically different - yes. I can not argue against that. Again, in large groups, it doesn't matter that much.
edit: and to answer to this:
Although I realize that it is a bit shitty to come around the corner and say "You know, maybe you should not implement this and work on something else first" after the work has already been done, but I didn't really have time for this earlier.
This is by far the biggest change we can make to the game in three to four days of work. Imagine having to play an eco map where everyone builds hives and just losing 30 ms instead of 5 ms (where you have 100ms a tick!) of the sim to hives for the sake of hives being hives.