-
Notifications
You must be signed in to change notification settings - Fork 240
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gl context loss #1234
Gl context loss #1234
Conversation
d855482
to
35d027f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I really do enjoy seeing all of that 'generation tracking' disappear.
However right now these changes result in a noticeable delay in resuming an app from pause. It appears that after resuming, all of the tiles in view are rebuilt over a few seconds, whereas previously there was no noticeable delay in resuming from pause. I'm not totally sure what's causing this yet, but we should nail it down and resolve it before merging - we don't want to introduce a regression in user experience.
Update: I am seeing the same delay now on master as well so it doesn't appear that this change introduces that effect. This effect is notably absent in eraser-map (the map resumes instantaneously), so I want to know what changed that caused this. However that concern isn't blocking this PR.
@@ -811,6 +812,8 @@ public void queueSceneUpdate(SceneUpdate sceneUpdate) { | |||
* @param sceneUpdates List of {@code SceneUpdate} | |||
*/ | |||
public void queueSceneUpdate(List<SceneUpdate> sceneUpdates) { | |||
this.sceneUpdates.addAll(sceneUpdates); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should also add updates from the method above this one to the list.
@@ -1073,7 +1078,13 @@ public void onSurfaceChanged(GL10 gl, int width, int height) { | |||
|
|||
@Override | |||
public void onSurfaceCreated(GL10 gl, EGLConfig config) { | |||
if (surfaceCreated) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure I follow the logic of this. Can you elaborate or add comments?
5b770c9
to
a1af3e7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems to work well now!
@karimnaaji I made some changes, effectively reverting one of your commits. See if this still makes sense to you.
Ok I will do some testings tomorrow and see how this goes! |
dfadc8d
to
f21ead4
Compare
Rebuild valid framebuffer selection on context loss
f21ead4
to
ed5bf9b
Compare
Revisit a little bit our context loss on Android:
onSurfaceCreated
whenever the map view has not been destroyedFixes #1206