From: Keith Packard Date: Wed, 11 May 2016 05:50:23 +0000 (-0700) Subject: altosuilib: Rate limit map loading pacifier updates X-Git-Tag: 1.6.4~1^2~53 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=2e551e7c5f82a7e35d39e8f73e8e526e5484cd5d altosuilib: Rate limit map loading pacifier updates Just updating the pacifier was consuming a huge amount of CPU. Update no more than once every 100ms. Signed-off-by: Keith Packard --- diff --git a/altosuilib/AltosUIMapPreloadNew.java b/altosuilib/AltosUIMapPreloadNew.java index cce07ab4..d6c257e0 100644 --- a/altosuilib/AltosUIMapPreloadNew.java +++ b/altosuilib/AltosUIMapPreloadNew.java @@ -153,8 +153,12 @@ public class AltosUIMapPreloadNew extends AltosUIFrame implements ActionListener double latitude, longitude; + long loader_notify_time; + /* AltosMapLoaderListener interfaces */ public void loader_start(final int max) { + loader_notify_time = System.currentTimeMillis(); + SwingUtilities.invokeLater(new Runnable() { public void run() { pbar.setMaximum(max); @@ -167,6 +171,13 @@ public class AltosUIMapPreloadNew extends AltosUIFrame implements ActionListener } public void loader_notify(final int cur, final int max, final String name) { + long now = System.currentTimeMillis(); + + if (now - loader_notify_time < 100) + return; + + loader_notify_time = now; + SwingUtilities.invokeLater(new Runnable() { public void run() { pbar.setValue(cur);