Skip to content
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

Android 11, Multi-window mode: Map becomes unresponsive when resizing app #3117

Open
johan12345 opened this issue Jan 6, 2025 · 3 comments

Comments

@johan12345
Copy link

johan12345 commented Jan 6, 2025

MapLibre Android Version

11.7.1

Android SDK Version

Android 11

Device

Emulator

What happened?

When using an app with MapLibre Native in multi-window mode on Android 11 (API 30) tablets, resizing the app a couple times causes visual artifacts and/or makes the app become unresponsive. This should not happen.

On newer Android versions (e.g. API 34) it works fine.

Steps to reproduce

  1. Install the MapLibre Android Test app on a tablet emulator (e.g., Pixel Tablet) with Android 11 (API 30)
  2. Start one of the demos (e.g., Simple map).
  3. Bring the app into multi-window/splitscreen mode.
  4. Resize the app a multiple times
  5. Try to pan or zoom the map

Renderer

OpenGL (choose this if you are unsure)

Relevant log output

[SurfaceView - org.maplibre.android.testapp/org.maplibre.android.testapp.activity.maplayout.SimpleMapActivity#5] rejecting buffer: bufWidth=1676, bufHeight=1328, front.active_legacy.{w=1270, h=1328}
159049432finished drawing but no pending report draw (extra call to draw completion runnable?)
dequeueBuffer failed, error = -110; switching to fallback
Davey! duration=4007ms; Flags=2, IntendedVsync=976584409640, Vsync=976584409640, OldestInputEvent=0, NewestInputEvent=0, HandleInputStart=976584409640, AnimationStart=976584409640, PerformTraversalsStart=976584409640, DrawStart=976584409640, SyncQueued=976588896700, SyncStart=976588904400, IssueDrawCommandsStart=976589384600, SwapBuffers=976590317600, FrameCompleted=980592209100, DequeueBufferDuration=0, QueueBufferDuration=0, GpuCompleted=4654927611724562432,
65b4f86 org.maplibre.android.testapp/org.maplibre.android.testapp.activity.maplayout.SimpleMapActivity (server) spent 3239ms processing MotionEvent

Additional context

Video: https://drive.google.com/file/d/1-hQUogirJLlb0UN59diREdt0-vx2agkZ/view?usp=sharing

I have tested this only on the emulator, unfortunately I don't have a physical Android 11 device to test.

In my app I am still using MapLibre Native 10 for compatibility with OpenGL ES 2. If this is fixed, it would be great if it could also be backported to the 10.x.x branch.

@louwers
Copy link
Collaborator

louwers commented Jan 6, 2025

Thanks for the report! I think this is worth fixing. I'll ask on Slack if anyone has an Android tablet to try this out with to see if it's also reproducible on a real device.

@louwers
Copy link
Collaborator

louwers commented Jan 6, 2025

On a real device with Android 14 (API 34) a community member was unable to reproduce this.

@johan12345
Copy link
Author

Yeah, on my real tablet with Android 15 it works fine as well. It seems to be only on Android 11 (and maybe older versions?).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants