Android: set PreserveEGLContextOnPause when the os is rev 11 or higher. Dramatically reduces the resume time when the context can be preserved.

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@10919 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
experimental
iwg..ic 11 years ago
parent 743aa2144a
commit 911958cfbe
  1. 10
      engine/src/android/com/jme3/system/android/OGLESContext.java

@ -39,6 +39,7 @@ import android.content.DialogInterface;
import android.content.pm.ConfigurationInfo; import android.content.pm.ConfigurationInfo;
import android.graphics.PixelFormat; import android.graphics.PixelFormat;
import android.opengl.GLSurfaceView; import android.opengl.GLSurfaceView;
import android.os.Build;
import android.text.InputType; import android.text.InputType;
import android.view.Gravity; import android.view.Gravity;
import android.view.SurfaceHolder; import android.view.SurfaceHolder;
@ -104,6 +105,7 @@ public class OGLESContext implements JmeContext, GLSurfaceView.Renderer, SoftTex
*/ */
public AndroidGLSurfaceView createView() { public AndroidGLSurfaceView createView() {
AndroidGLSurfaceView view; AndroidGLSurfaceView view;
int buildVersion = Build.VERSION.SDK_INT;
// Start to set up the view // Start to set up the view
view = new AndroidGLSurfaceView(JmeAndroidSystem.getActivity().getApplication()); view = new AndroidGLSurfaceView(JmeAndroidSystem.getActivity().getApplication());
@ -154,6 +156,14 @@ public class OGLESContext implements JmeContext, GLSurfaceView.Renderer, SoftTex
view.setEGLConfigChooser(configChooser); view.setEGLConfigChooser(configChooser);
view.setRenderer(this); view.setRenderer(this);
// Attempt to preserve the EGL Context on app pause/resume.
// Not destroying and recreating the EGL context
// will help with resume time by reusing the existing context to avoid
// reloading all the OpenGL objects.
if (buildVersion >= 11) {
view.setPreserveEGLContextOnPause(true);
}
return view; return view;
} }
/** /**

Loading…
Cancel
Save