From 7299d07dabb7185bb3f812e7f9fd399496c04c3e Mon Sep 17 00:00:00 2001 From: ThorstenB Date: Mon, 28 Mar 2011 00:24:32 +0200 Subject: [PATCH] New option to display frame latency. Better property to evaluate simulation performance than frame rate. --- Nasal/gui.nas | 16 ++++++++++++++- gui/dialogs/display.xml | 38 +++++++++++++++++++++-------------- gui/dialogs/fps.xml | 1 + gui/dialogs/frame-latency.xml | 30 +++++++++++++++++++++++++++ preferences.xml | 1 + 5 files changed, 70 insertions(+), 16 deletions(-) create mode 100644 gui/dialogs/frame-latency.xml 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