removed clamping, since it's performed in Color.Lerp() anyways
Reason behind the change is that in vanilla, game updates building colors in batches of max 192 buildings each simulation step. Our code could, at worst case request full buildings color update if within frame we request update of building with id e.g. 1 and then e.g. 43k. That will force the game to update colors of all buildings in range <1; 43000> which is relatively slow, and affects FPS (update colors is main thread operation - it's setting color pixels on texture)
When user enters specific Info view, the game is performing full update once and also when simulation is running it runs update batches so we don't really lose anything with this change, full loop takes 256 simulation steps, so 4 seconds if simulation is running at native 1x speed (64 steps/sec).
Building color update improvement
Color.Lerp()
anywaysReason behind the change is that in vanilla, game updates building colors in batches of max 192 buildings each simulation step. Our code could, at worst case request full buildings color update if within frame we request update of building with id e.g.
1
and then e.g. 43k. That will force the game to update colors of all buildings in range <1; 43000> which is relatively slow, and affects FPS (update colors is main thread operation - it's setting color pixels on texture) When user enters specific Info view, the game is performing full update once and also when simulation is running it runs update batches so we don't really lose anything with this change, full loop takes 256 simulation steps, so 4 seconds if simulation is running at native 1x speed (64 steps/sec).Build ZIP