From 1150750c09ec53492fadf72fbb106154aa2857cd Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Sat, 10 Sep 2022 16:11:10 -0700 Subject: [PATCH] Re-disable sending landmap data for Falklands. Still too slow. --- game/server/mapzones/routes.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/game/server/mapzones/routes.py b/game/server/mapzones/routes.py index 83dc9978..af006139 100644 --- a/game/server/mapzones/routes.py +++ b/game/server/mapzones/routes.py @@ -1,3 +1,5 @@ +import logging + from fastapi import APIRouter, Depends, HTTPException, status from game import Game @@ -10,6 +12,20 @@ router: APIRouter = APIRouter(prefix="/map-zones") @router.get("/terrain", operation_id="get_terrain_zones", response_model=MapZonesJs) def get_terrain(game: Game = Depends(GameContext.require)) -> MapZonesJs: + if game.theater.terrain.name == "Falklands": + # The new high fidelity landmap is far too expensive to send to the UI. + # Converting all the points from DCS X/Y to lat/lng and then serializing all + # that data takes minutes and gigabytes (!!) of RAM. + # + # It's not clear how much the rest of Liberation is affected by the landmap + # complexity yet. If the rest of the game is tolerable we will need to start + # baking images of the landmap that can be used as an overlay in the UI rather + # than drawing it from each point. + logging.debug( + "Not sending landmap to the UI for Falklands because it's too slow" + ) + return MapZonesJs.empty() + zones = game.theater.landmap if zones is None: raise HTTPException(status_code=status.HTTP_404_NOT_FOUND)