2025-09-06 22:48 CEST

spring: develop 2635f8cd Diff ] Back to Repository ]
Author Committer Branch Timestamp Parent
jK jK develop 2015-10-13 20:33:35 develop ca3e86be
Changeset LosHandler: speedup + threading
A few numbers of a 1min 400 fighter testcase:
time spend in LosHandler: 20sec (before this commit) -> 15sec (singlethreaded) -> 8sec (threaded with a quadcore)

What has been done:
* decouple unit update from LosInstance update
* optimize LosInstance update (when an instance is removed from an unit and added to another in the same gameframe, then the losmap doesn't need to get updated, etc.)
* increased cache again
* use boost::unordered_multimap instead of custom hash array
* Run Length Enode `squares` map of SLosInstance to reduce memory consumption a lot
* threaded LosTypes updating (Radar, LoS, AirLoS, ... are updated in parallel)
* threaded terrain raycasting
mod - rts/Sim/Misc/LosHandler.cpp Diff ] File ]
mod - rts/Sim/Misc/LosHandler.h Diff ] File ]
mod - rts/Sim/Misc/LosMap.cpp Diff ] File ]
mod - rts/Sim/Misc/LosMap.h Diff ] File ]
mod - rts/System/Threading/SpringMutex.h Diff ] File ]