-
-
Notifications
You must be signed in to change notification settings - Fork 333
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
Vulkan Early Access Testing (Android) #2787
Comments
I could create some alpha releases alongside the stable ones for StreetComplete (once the MapLibre migration has been stabilized in the first place) for people to try out. Beyond detecting simple rendering issues, this only makes sense if there's a straightforward way for these users to make useful reports for crashes in native / Vulkan code. I understand that the logged crash trace is not that useful for you and digging out the tombstone seems to require root privileges on the phone and/or usage of developer tools (adb), plus some special build configuration (we haven't fully figured out yet) beforehand. Also, how would you sell it to users so they want to be the first people to try it out? Is there anything to gain from that? |
That would be amazing!
Being an early tester and testing it with your style and app means that any bugs or performance regressions you report will have the attention of the rendering team, and will probably be fixed by the time we make an official release. |
I can take part too to test It in complex environment with many raster, vector and extruded layers. |
@mtpdog Please create a separate issue for the regressions you are seeing. |
Labels are jittery with this style. video_2024-09-07_01-05-09.mp4Style - https://tiles.versatiles.org/assets/styles/colorful.json |
According to my tests, this version (android-v11.3.0-vulkan-pre0) works mostly fine except for:
On the positive side it seems that this issue is fixed: #2788 |
I tested
I didn't compare performance, but I didn't feel any difference. |
I ran some benchmarks on AWS Device Farm with various devices. The results can be found here and in the diagram below. Graph: https://github.com/user-attachments/assets/3260933c-fc85-45ac-a38d-29856b32d07e We are a bit suspicious that the Pixel 7 Pro is comparable to the Pixel 4a in terms of performance. The results look promising though. |
We did another extensive benchmark run comparing OpenGL (here indicated as Drawable) and Vulkan! Note the y-axis on the plot below here is a version with equal y-axis range for all devices, but since there is quite a big difference in FPS between devices the differences can be hard to see on some devices. Graph: https://github.com/user-attachments/assets/b2157018-6652-4877-b4bf-d96477203137 Raw data: https://docs.google.com/spreadsheets/d/1roKpT7BrLFErZE8r_-hd4uMk74znVbB-7Eo3JvPj8zE/edit?usp=sharing |
We did a new run last week which moved slower from location to location. This is too prevent the situation where no data is loaded and the map is not rendering anything (resulting in very high but meaningless FPS in some runs). I think we can improve the benchmark by running it completely offline and starting the benchmark with a pre-loaded cache. I have made a PR with some scripts to automate running the benchmarks, as well as for collecting and plotting the results. #2991 The results of the last run: Plot: https://github.com/user-attachments/assets/4ff47faa-2c5a-4786-bace-8df5ee560028 |
We now have a new version up with the name We're very eager to know if your feedback, also if it just works. We can include your name in the official release post (if you want). |
I can reproduce this issue (screen rotate doesn't re-create the activity in my app), but as you see, only every 5th or so time it produces the issue: Screen-20241120-135912.mp4 |
Still reproducible with pre1. Also, I get these error messages on each rotate (always):
|
11.6.1-vulkan-pre1 works very well in our case! Now it definitely works faster than OpenGL. Great job! P.S. Can we try to increase map tilt limits on this new engine? #1909 |
Thanks for trying it out! W.r.t. your comment, that's off-topic here since it's unrelated to Vulkan. But I replied there. |
The only small issue I've noticed so far with 11.6.1-vulkan-pre1 is that all vector elements (vector maps, annotations) do not "stick" firmly to the raster background on quick camera movements. They kind of floating around their normal positions. Probably the vector and raster parts of rendering are not synchronized perfectly. Would be great if this is fixed as well. |
Another possible issue (need further analysis). The vulkan map does not scale properly. Put it into a composable surface and try to change the bounds - the map content is not scaled. |
@mtpdog Oh that sounds like something that needs fixing. Could you open separate issues for these problems, ideally with some screenshots to show the problem? |
Seeing some odd shaking with labels on pre1: Screen_Recording_20241202_170357_maplibre-compose-demo.mp4Also some white artifacts (noticeable in the water) when zooming in and out very quickly: Screen_Recording_20241202_170424_maplibre-compose-demo.mp4Otherwise, looks good! This is with the OpenFreeMap "bright" style and this branch of maplibre-compose. |
Somewhat similar to the white artifact reported above, there seem to be some issues with the emulator. I've reproduced it with the MapLibre demo tiles: To repro, check out the |
@ianthetechie Did you mean to upload a video? |
No, I just uploaded a screenshot on purpose, but I can upload a video too if it's helpful ;) (Yes, it's an ugly demo, but its sole function was to show how to manipulate the camera haha). Screen_recording_20241203_201818.webm |
@ianthetechie Ahh I thought the two lines were part of the UI. Understood! |
Thanks for testing everyone! Please open a new issue if you encounter any other problems. |
We are looking for users interested in the upcoming Vulkan support for Android.
We will be releasing an 'early access' MapLibre Android version (a.k.a. pre-release) that will just support Vulkan in September 2024. This will give people an opportunity to test the new Vulkan backend on Android. Joining this effort will help the rendering team to ensure there are no regressions as well as with optimizing performance.
Edit: the first pre-release has been released!
Reporting Issues
When reporting an issue (here or in a separate issue), the following are required:
When available:
The text was updated successfully, but these errors were encountered: