diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/vehicle_base.h | 4 | ||||
-rw-r--r-- | src/window.cpp | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/vehicle_base.h b/src/vehicle_base.h index 59584da78..f923c2d79 100644 --- a/src/vehicle_base.h +++ b/src/vehicle_base.h @@ -23,6 +23,7 @@ #include "transport_type.h" #include "group_type.h" #include "base_consist.h" +#include "network/network.h" #include <list> #include <map> @@ -1072,6 +1073,9 @@ struct SpecializedVehicle : public Vehicle { */ inline void UpdateViewport(bool force_update, bool update_delta) { + /* Skip updating sprites on dedicated servers without screen */ + if (_network_dedicated) return; + /* Explicitly choose method to call to prevent vtable dereference - * it gives ~3% runtime improvements in games with many vehicles */ if (update_delta) ((T *)this)->T::UpdateDeltaXY(this->direction); diff --git a/src/window.cpp b/src/window.cpp index 1fce1f3a8..bc92416b6 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -3031,6 +3031,10 @@ void UpdateWindows() w->ProcessHighlightedInvalidations(); } + /* Skip the actual drawing on dedicated servers without screen. + * But still empty the invalidation queues above. */ + if (_network_dedicated) return; + static int we4_timer = 0; int t = we4_timer + 1; |