-
-
Notifications
You must be signed in to change notification settings - Fork 301
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
Metal support in iOS #19
Comments
MetalANGLE is a translation layer that could potentially be used to map OpenGL ES calls to Metal: https://github.com/kakashidinho/metalangle |
I tried out MetalANGLE and after a couple of tweaks it works well. I will prepare a PR once I cleanup the code. Here are the benchmark results of the Debug build (both MapLibre and MetalANGLE) running on Simulator. We should be able to hit 60 fps with a Release build: 2021-03-01 12:28:56.056928-0800 Bench GL[42138:8510478] Benchmark completed. |
FWIW for others interested in the matter, an experimental |
Test Results of Archive & upload to App Store Connect (TestFlight) of the MapLibre test app
|
DEVICE TYPE | DOWNLOAD SIZE | INSTALL SIZE |
---|---|---|
This is the compressed size of the app downloaded over the air. | This is the amount of disk space the app will take up on the customer's device. The install size also appears on your app’s product page in the Information section. | |
Universal | 1706 KB MapKit11742 KB 🗺23240 KB 🗺+ 🎸--- 🎸 adds an additional 11498 KB |
1924 KB MapKit20146 KB 🗺32855 KB 🗺+ 🎸--- 🎸 adds an additional 12709 KB |
iPad (6th generation) | 6221 KB 🗺12380 KB 🗺+ 🎸--- 🎸 adds an additional 6159 KB |
14105 KB 🗺20915 KB 🗺+ 🎸--- 🎸 adds an additional 6810 KB |
iPad Pro (11‑inch) | 6220 KB 🗺12379 KB 🗺+ 🎸--- 🎸 adds an additional 6159 KB |
14100 KB 🗺20911 KB 🗺+ 🎸--- 🎸 adds an additional 6811 KB |
iPad Pro (12.9‑inch) (4th generation) | 2834 KB 🗺5042 KB 🗺+ 🎸--- 🎸 adds an additional 2208 KB |
14007 KB 🗺20708 KB 🗺+ 🎸--- 🎸 adds an additional 6701 KB |
iPhone 5S | 6216 KB 🗺12375 KB 🗺+ 🎸--- 🎸 adds an additional 6159 KB |
14096 KB 🗺20907 KB 🗺+ 🎸--- 🎸 adds an additional 6811 KB |
iPhone 7 Plus | 6225 KB 🗺12385 KB 🗺+ 🎸--- 🎸 adds an additional 6160 KB |
14105 KB 🗺20915 KB 🗺+ 🎸--- 🎸 adds an additional 6810 KB |
iPhone 11 Pro Max | 2839 KB 🗺5047 KB 🗺+ 🎸--- 🎸 adds an additional 2208 KB |
14011 KB 🗺20712 KB 🗺+ 🎸--- 🎸 adds an additional 6701 KB |
iPhone SE (2nd generation) | 2830 KB 🗺5038 KB 🗺+ 🎸--- 🎸 adds an additional 2208 KB |
14003 KB 🗺20704 KB 🗺+ 🎸--- 🎸 adds an additional 6701 KB |
iPhone 12 mini | 2839 KB 🗺5047 KB 🗺+ 🎸--- 🎸 adds an additional 2208 KB |
14011 KB 🗺20712 KB 🗺+ 🎸--- 🎸 adds an additional 6701 KB |
iPhone 12 Pro Max | 2839 KB 🗺5047 KB 🗺+ 🎸--- 🎸 adds an additional 2208 KB |
14011 KB 🗺20712 KB 🗺+ 🎸--- 🎸 adds an additional 6701 KB |
iPod touch (6th generation) | 6216 KB 🗺12375 KB 🗺+ 🎸--- 🎸 adds an additional 6159 KB |
14096 KB 🗺20907 KB 🗺+ 🎸--- 🎸 adds an additional 6811 KB |
Thanks for working on this! Any progress since the experimental release? While I don't think we can help codewise, Bikemap is now a maplibre sponsor - symbolically for now until we can switch (waiting for metal)... |
Hello! We still need to setup Metal-supported CI and solve an issue with laggy annotation views. Have you had a chance to try out the experimental build? Are there any other problems you've experienced with it? |
So I've finally had a chance to try out the the experimental builds. They work well: we can finally work on M1 machines without enabling rosetta. We did have the random crash here and there, especially when working with the snapshotter. Because the whole development team has now been upgraded to M1 machines (the non metal builds do not work, we have little to no choice: we need to use the prerelease version and hope this will become the general pipe line soon. There is a new version of metalangle available, and you've patched a few things in the non metal builds. Would be great if that could all be brought together. I did take a stab at trying to help with this, but quickly lost my way. Most documentation, especially "develop" documentation, still talks about Mapbox and appears to not the the way to build things in metal mode. |
Is this topic still being actively pursued? |
I think there is a large interest in Metal support, especially because Apple might drop OpenGL at some point. This will be an interesting challenge and we will need code contributors and also reviewers. @hakkurishian would you be interested in joining this effort? |
A rendering backend that uses Metal-cpp directly is under development. Progress can be tracked here: https://github.com/orgs/maplibre/projects/8 |
We now have a pre-release out with Metal support. Testers needed. Please see: #1609 |
OpenGL ES is deprecated in iOS 12, in favor of Metal which is pretty significant. Copying over issue from Mapbox GL native: mapbox/mapbox-gl-native#12061
The text was updated successfully, but these errors were encountered: