From 162440ed7eec78f80ff6a46ce23fc68b5be548a3 Mon Sep 17 00:00:00 2001 From: Andrzej Kapolka Date: Thu, 2 Mar 2006 21:40:57 +0000 Subject: [PATCH] Record the frame time as the different between the last and current frames. JME's timer was using a running average: good for calculating frame rates, bad for updates. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3906 542714f4-19e9-0310-aa3c-eee0fc999fb1 --- src/java/com/threerings/jme/JmeApp.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/java/com/threerings/jme/JmeApp.java b/src/java/com/threerings/jme/JmeApp.java index 743266692..f47ae641f 100644 --- a/src/java/com/threerings/jme/JmeApp.java +++ b/src/java/com/threerings/jme/JmeApp.java @@ -417,7 +417,9 @@ public class JmeApp _timer.update(); // run all of the controllers attached to nodes - _frameTime = _timer.getTimePerFrame(); + _frameTime = (_lastTick == 0L) ? 0f : (float)(frameTick - _lastTick) / + _timer.getResolution(); + _lastTick = frameTick; _root.updateGeometricState(_frameTime, true); // update the camera handler @@ -525,6 +527,7 @@ public class JmeApp protected Timer _timer; protected Thread _dispatchThread; protected Queue _evqueue = new Queue(); + protected long _lastTick; protected float _frameTime; protected String _api;