diff --git a/Nasal/gui.nas b/Nasal/gui.nas
index 1af8b62a5..2b92aeb07 100644
--- a/Nasal/gui.nas
+++ b/Nasal/gui.nas
@@ -138,6 +138,7 @@ _setlistener("/sim/signals/nasal-dir-initialized", func {
menuEnable("tutorial-start", size(props.globals.getNode("/sim/tutorials", 1).getChildren("tutorial")));
menuEnable("joystick-info", size(props.globals.getNode("/input/joysticks").getChildren("js")));
+ # frame-per-second display
var fps = props.globals.getNode("/sim/rendering/fps-display", 1);
setlistener(fps, fpsDisplay, 1);
setlistener("/sim/startup/xsize", func {
@@ -147,6 +148,16 @@ _setlistener("/sim/signals/nasal-dir-initialized", func {
}
});
+ # frame-latency display
+ var latency = props.globals.getNode("/sim/rendering/frame-latency-display", 1);
+ setlistener(latency, latencyDisplay, 1);
+ setlistener("/sim/startup/xsize", func {
+ if (latency.getValue()) {
+ latencyDisplay(0);
+ latencyDisplay(1);
+ }
+ });
+
# only enable precipitation if gui *and* aircraft want it
var p = "/sim/rendering/precipitation-";
var precip_gui = getprop(p ~ "gui-enable");
@@ -197,7 +208,10 @@ var fpsDisplay = func(n) {
var w = isa(n, props.Node) ? n.getValue() : n;
fgcommand(w ? "dialog-show" : "dialog-close", props.Node.new({"dialog-name": "fps"}));
}
-
+var latencyDisplay = func(n) {
+ var w = isa(n, props.Node) ? n.getValue() : n;
+ fgcommand(w ? "dialog-show" : "dialog-close", props.Node.new({"dialog-name": "frame-latency"}));
+}
##
# How many seconds do we show the tip?
diff --git a/gui/dialogs/display.xml b/gui/dialogs/display.xml
index 3530c1e3e..f909dabc7 100644
--- a/gui/dialogs/display.xml
+++ b/gui/dialogs/display.xml
@@ -8,13 +8,13 @@
hbox
- 1
+ 1
- 1
+ 1
diff --git a/gui/dialogs/fps.xml b/gui/dialogs/fps.xml
index 97c4927e6..738976044 100644
--- a/gui/dialogs/fps.xml
+++ b/gui/dialogs/fps.xml
@@ -18,6 +18,7 @@
/sim/frame-rate
+ %3.0f
true
0.9
diff --git a/gui/dialogs/frame-latency.xml b/gui/dialogs/frame-latency.xml
new file mode 100644
index 000000000..c811c8c9d
--- /dev/null
+++ b/gui/dialogs/frame-latency.xml
@@ -0,0 +1,30 @@
+
+
+
+ frame-latency
+ 2
+ 2
+ hbox
+ 0
+
+ HELVETICA_12
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+
+ /sim/frame-latency-max-ms
+ %4.0f ms
+ true
+
+ 0.9
+ 0.4
+ 0.2
+ 1
+
+
+
diff --git a/preferences.xml b/preferences.xml
index f5c536b04..6c80996eb 100644
--- a/preferences.xml
+++ b/preferences.xml
@@ -131,6 +131,7 @@ Started September 2000 by David Megginson, david@megginson.com
false
true
false
+ false
0
false