Use simplified Falklands exclusion zones.

This is significantly faster on my machine. Checking it in (and
re-enabling the UI layer) to see how it affects slower machines.
This commit is contained in:
Dan Albert 2022-09-11 11:47:41 -07:00
parent 124e2d5e10
commit cd19f2ab21
11 changed files with 0 additions and 16 deletions

View File

@ -1,5 +1,3 @@
import logging
from fastapi import APIRouter, Depends, HTTPException, status from fastapi import APIRouter, Depends, HTTPException, status
from game import Game from game import Game
@ -12,20 +10,6 @@ router: APIRouter = APIRouter(prefix="/map-zones")
@router.get("/terrain", operation_id="get_terrain_zones", response_model=MapZonesJs) @router.get("/terrain", operation_id="get_terrain_zones", response_model=MapZonesJs)
def get_terrain(game: Game = Depends(GameContext.require)) -> 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 zones = game.theater.landmap
if zones is None: if zones is None:
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND) raise HTTPException(status_code=status.HTTP_404_NOT_FOUND)