diff --git a/jme3-android/src/main/java/com/jme3/app/AndroidHarness.java b/jme3-android/src/main/java/com/jme3/app/AndroidHarness.java index 7ce66ae98..92713c666 100644 --- a/jme3-android/src/main/java/com/jme3/app/AndroidHarness.java +++ b/jme3-android/src/main/java/com/jme3/app/AndroidHarness.java @@ -88,13 +88,6 @@ public class AndroidHarness extends Activity implements TouchListener, DialogInt */ protected int eglStencilBits = 0; - /** - * Set the desired frame rate. If frameRate > 0, the application - * will be capped at the desired frame rate. - * (default = -1, no frame rate cap) - */ - protected int frameRate = -1; - /** * Sets the type of Audio Renderer to be used. *

@@ -246,8 +239,6 @@ public class AndroidHarness extends Activity implements TouchListener, DialogInt settings.setResolution(disp.getWidth(), disp.getHeight()); settings.setAudioRenderer(audioRendererType); - settings.setFrameRate(frameRate); - // Create application instance try { if (app == null) { diff --git a/jme3-android/src/main/java/com/jme3/system/android/OGLESContext.java b/jme3-android/src/main/java/com/jme3/system/android/OGLESContext.java index 22893c1ce..79ec34875 100644 --- a/jme3-android/src/main/java/com/jme3/system/android/OGLESContext.java +++ b/jme3-android/src/main/java/com/jme3/system/android/OGLESContext.java @@ -75,8 +75,7 @@ public class OGLESContext implements JmeContext, GLSurfaceView.Renderer, SoftTex protected SystemListener listener; protected boolean autoFlush = true; protected AndroidInputHandler androidInput; - protected long minFrameDuration = 0; // No FPS cap - protected long lastUpdateTime = 0; + protected int minFrameDuration = 0; // No FPS cap protected JoyInput androidSensorJoyInput = null; public OGLESContext() { @@ -226,12 +225,6 @@ public class OGLESContext implements JmeContext, GLSurfaceView.Renderer, SoftTex androidInput.loadSettings(settings); } - if (settings.getFrameRate() > 0) { - minFrameDuration = (long)(1000d / (double)settings.getFrameRate()); // ms - logger.log(Level.FINE, "Setting min tpf: {0}ms", minFrameDuration); - } else { - minFrameDuration = 0; - } } @Override @@ -327,25 +320,23 @@ public class OGLESContext implements JmeContext, GLSurfaceView.Renderer, SoftTex throw new IllegalStateException("onDrawFrame without create"); } + long milliStart = System.currentTimeMillis(); + listener.update(); if (autoFlush) { renderer.onFrame(); } - long updateDelta = System.currentTimeMillis() - lastUpdateTime; + long milliDelta = System.currentTimeMillis() - milliStart; // Enforce a FPS cap - if (updateDelta < minFrameDuration) { -// logger.log(Level.INFO, "lastUpdateTime: {0}, updateDelta: {1}, minTimePerFrame: {2}", -// new Object[]{lastUpdateTime, updateDelta, minTimePerFrame}); + if (milliDelta < minFrameDuration) { + //logger.log(Level.FINE, "Time per frame {0}", milliDelta); try { - Thread.sleep(minFrameDuration - updateDelta); + Thread.sleep(minFrameDuration - milliDelta); } catch (InterruptedException e) { } } - - lastUpdateTime = System.currentTimeMillis(); - } }