Android の描画も V-Sync に依存しており、一部デバイスを除いておよそ
60fps が上限となっています。
Android 4.1 Jelly Bean (API Level 17) 以降は SwapInterval で
0 を設定することができます。
desktop 版 OpenGL 同様、Interval=0 に設定すると非同期になります。
実際の画面に反映されているかどうかを考えなければ、
GPU の描画ループも 60fps を超えることが可能です。
// Java import android.opengl.EGL14; import android.opengl.EGLDisplay; ~ EGLDisplay display14= EGL14.eglGetDisplay( EGL14.EGL_DEFAULT_DISPLAY ); EGL14.eglSwapInterval( display14, 0 );
EGLDisplay, EGLContext, EGLConfig, EGLSurface は android.opengl と
javax.microedition.khronos.egl の両方に存在します。
EGL14 を用いる場合は android.opengl の方を使用。
// NDK NativeActivity eglSwapInterval( display, 0 );
// NDK + GLSurfaceView EGLDisplay display= eglGetDisplay( EGL_DEFAULT_DISPLAY ); eglSwapInterval( display, 0 );
ベンチマークで便利。