Cities: Skylines

Cities: Skylines

[Deprecated] SOM - Services Optimization Module
Showing 1-3 of 3 entries
Update: Mar 30, 2015 @ 11:08am

- Optimized "service vehicle to service target" tracking. Now, low priority targets will only consume CPU time if the number of high and normal priority connections drop below a certain threshold. This allows not only the priority monitors to be more efficient, but also the dispatcher and driver AI's. The low priority targets are still tracked, just not maintained. So, given the right conditions, the low priority targets can be "revived".
- Optimized service vehicle and service target tracker data repositories. Now, tracking data will no longer be maintained indefinitely. Once a vehicle or target is marked as "invalid", the repositories will be purged of all entries related to them. This should result in performance improvements for the priority monitors and the dispatcher.
- Added artificial annealing for improved thread load balance.
- Added profiler framework to quickly enable or disable performance profiling on all threads. Steam Workshop version has profiling disabled for performance reasons, but the in-game debug console will still show which components are active.
- Tuned thread balance and timing. Timing has been moved to give higher priority to "making better decision" and away from "reacting quicker to new service vehicles and targets spawning." This is a continuous work item.

Update: Mar 29, 2015 @ 11:36am

- Completely overhauled the module to make it far more efficient. The code base has been rewritten and restructured to better match Unity's threading behavior. The code should now split itself across as many CPU cores as Unity allows C:S.
- All services other than hearses have been temporarily disabled. Once the new code base has been confirmed to be effective across the vast majority of hardwares out there, the other services will be reenabled one by one.

Update: Mar 25, 2015 @ 11:27am

Initial commit