From 64ae01113aff49e37a63af4f596cf72694ca0462 Mon Sep 17 00:00:00 2001 From: zwu18 Date: Fri, 22 Sep 2017 22:15:28 +1200 Subject: [PATCH] Added delay for position update. This fixes fps issue. #story[1311] --- .../visualiser/Controllers/RaceViewController.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java b/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java index 2cbda6d4..af4d6189 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java @@ -71,6 +71,8 @@ public class RaceViewController extends Controller { private ObservableList viewSubjects; private Gauge gauge; private FGauge fGauge; + private long positionDelay = 1000; + private long positionTime = 0; /** * Arrow pointing to next mark in third person @@ -762,12 +764,14 @@ public class RaceViewController extends Controller { try { gauge.setValue(raceState.getBoat(raceState.getPlayerBoatID()).getCurrentSpeed()); fGauge.getGauge().setValue(raceState.getBoat(raceState.getPlayerBoatID()).getCurrentSpeed()); - //Thread.sleep(50); - for (VisualiserBoat boat : boatInfoTable.getItems()){ - if(raceState.getPlayerBoatID()==boat.getSourceID()){ - gauge.setTitle("Position: " + (boatInfoTable.getItems().indexOf(boat)+1)); - fGauge.getGauge().setTitle("Position: " + (boatInfoTable.getItems().indexOf(boat)+1)); + if(System.currentTimeMillis() > positionTime+positionDelay) { + for (VisualiserBoat boat : boatInfoTable.getItems()) { + if (raceState.getPlayerBoatID() == boat.getSourceID()) { + gauge.setTitle("Position: " + (boatInfoTable.getItems().indexOf(boat) + 1)); + fGauge.getGauge().setTitle("Position: " + (boatInfoTable.getItems().indexOf(boat) + 1)); + } } + positionTime = System.currentTimeMillis(); } } catch (BoatNotFoundException e) { e.printStackTrace();