如果在Android的GLSurfaceView中的Renderer.onDrawFrame方法中丢失了约15毫秒,这可能是由于渲染间隔不稳定造成的。以下是一些可能的解决方法:
import android.view.Choreographer;
public class MyRenderer implements GLSurfaceView.Renderer {
    private Choreographer choreographer;
    
    @Override
    public void onSurfaceCreated(GL10 gl, EGLConfig config) {
        choreographer = Choreographer.getInstance();
    }
    @Override
    public void onDrawFrame(GL10 gl) {
        choreographer.postFrameCallback(new Choreographer.FrameCallback() {
            @Override
            public void doFrame(long frameTimeNanos) {
                // 在此处执行渲染逻辑
                // ...
                
                // 再次调度下一帧
                choreographer.postFrameCallback(this);
            }
        });
    }
    
    // 其他方法...
}
@Override
public void onDrawFrame(GL10 gl) {
    // 渲染逻辑
    
    try {
        Thread.sleep(15); // 添加15毫秒的延迟
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}
请注意,这种方法可能会导致渲染的帧率降低,因为您会在每帧之间添加一个固定的延迟。
请根据您的应用程序的需求选择适合的解决方法。
                    上一篇:Android Glide无法从URL加载.jpg文件。
                
下一篇:Android glTexSubImage2D与GL_TEXTURE_EXTERNAL_OES问题(OpenGL + OpenCV + CameraX)