diff options
author | shoudil <stephenli@codeaurora.org> | 2018-02-01 14:16:40 +0800 |
---|---|---|
committer | Jun Wang <junwan@codeaurora.org> | 2018-05-14 13:59:45 +0800 |
commit | 480929aa91a767ad00b034f380891eec95b68ab4 (patch) | |
tree | 5dab119076e2c55ed497ae2200b06b2d3edaa51f /opengl/java | |
parent | 614fa5004f1273decdb6f70321cae15637dc104b (diff) |
GLSurfaceView: report draw finished after first onDrawFrame in GLThread.
At default, GLThread will not report draw finish after 1st
onDrawFrame. This will cause long black screen issue for game
whose 2nd onDrawFrame taking time, such as CandyCrash case
reported by customer.
This change ensure the draw finished to be reported after 1st
onDrawFrame.
Change-Id: I8b817bdb5d6dcaec9835b45c6efe8e6892c716fe
CRs-Fixed: 2182359
Diffstat (limited to 'opengl/java')
-rw-r--r-- | opengl/java/android/opengl/GLSurfaceView.java | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/opengl/java/android/opengl/GLSurfaceView.java b/opengl/java/android/opengl/GLSurfaceView.java index 0f0a7e9d1314..e5a0c8ee70b7 100644 --- a/opengl/java/android/opengl/GLSurfaceView.java +++ b/opengl/java/android/opengl/GLSurfaceView.java @@ -1568,6 +1568,10 @@ public class GLSurfaceView extends SurfaceView implements SurfaceHolder.Callback if (view != null) { try { Trace.traceBegin(Trace.TRACE_TAG_VIEW, "onDrawFrame"); + if (mFinishDrawingRunnable != null) { + finishDrawingRunnable = mFinishDrawingRunnable; + mFinishDrawingRunnable = null; + } view.mRenderer.onDrawFrame(gl); if (finishDrawingRunnable != null) { finishDrawingRunnable.run(); |