X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fdebug%2Fgdk-event-latency-tracker.cpp;h=a6baae8dae47c5f6e360abcf088d0e54b09a05ba;hb=429ce09996dfe0ef44a115a89465c69eb4d376a6;hp=6a8a48eb3c28e3f9ed266477bb6a345d37522d3e;hpb=35873afc9911efb8148e0ed4d18cd1782e2f5b54;p=inkscape.git diff --git a/src/debug/gdk-event-latency-tracker.cpp b/src/debug/gdk-event-latency-tracker.cpp index 6a8a48eb3..a6baae8da 100644 --- a/src/debug/gdk-event-latency-tracker.cpp +++ b/src/debug/gdk-event-latency-tracker.cpp @@ -10,13 +10,13 @@ */ #include "debug/gdk-event-latency-tracker.h" -#include "prefs-utils.h" +#include "preferences.h" namespace Inkscape { namespace Debug { GdkEventLatencyTracker::GdkEventLatencyTracker() - : start_seconds(0.0), max_latency(0.0), skew(1.0) + : start_seconds(0.0), max_latency(0.0), skew(1.0), last_elapsed(0.0), last_seconds(0.0) { elapsed.stop(); elapsed.reset(); @@ -32,10 +32,13 @@ boost::optional GdkEventLatencyTracker::process(GdkEvent const *event) { if (start_seconds == 0.0) { elapsed.start(); start_seconds = timestamp_seconds; - skew = prefs_get_double_attribute_limited("debug.latency", "skew", 1.0, 0.5, 2.0); + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + skew = prefs->getDoubleLimited("/debug/latency/skew", 1.0, 0.5, 2.0); return boost::optional(0.0); } else { - double const current_seconds = (elapsed.elapsed() * skew) + start_seconds; + last_elapsed = elapsed.elapsed(); + last_seconds = timestamp_seconds; + double const current_seconds = (last_elapsed * skew) + start_seconds; double delta = current_seconds - timestamp_seconds; if (delta < 0.0) { start_seconds += -delta; @@ -47,6 +50,14 @@ boost::optional GdkEventLatencyTracker::process(GdkEvent const *event) { } } +double GdkEventLatencyTracker::getSkew() { + double val = 0.0; + if ((last_elapsed > 0.0) && (last_seconds > 0.0)) { + val = (last_seconds - start_seconds) / last_elapsed; + } + return val; +} + GdkEventLatencyTracker &GdkEventLatencyTracker::default_tracker() { static GdkEventLatencyTracker tracker; return tracker;