• 0 Posts
  • 10 Comments
Joined 1 year ago
cake
Cake day: June 13th, 2023

help-circle




  • I’m guessing it’s because the hardware that runs iOS is exclusive, so they can create simpler and more reliable APIs for that kind of thing

    There is the advantage that they control both the hardware and software, but it’s also that the hardware is several years ahead of the competition. Especially CPU and GPU performance. Apple’s SoC’s are just crazy fast, and they do it while using very little power as well. It’s really impressive.



  • For me as a developer by far the biggest restriction on Android is raw performance, it’s just so much slower than iOS, even the high-end phones.

    Next is the lack of proper updates, if you build an app for Android and you want to reach a decent audience you have to target an ancient version of Android since hardly anyone ever gets OS updates so you can’t use any of the newest functionality.

    Combined with this is the lack of widely supported APIs. We’re doing a bunch of GPU compute, on iOS this is no problem: you can use Metal Compute and it’s supported on iPhone 6S and later (which is practically every iPhone still in use). On Android there is nothing comparable. There is RenderScript which is deprecated and lacks a lot of functionality, it’s also slow and you can never be sure it actually runs on the GPU (it can fall back to CPU on certain devices and you have zero control over this). Newer OpenGL ES versions support compute, but it’s only available on a handful of devices, same goes for Vulkan. Even then, which features are supported differs per device and per GPU. Sometimes there are even different versions of the ‘same’ device (at least: same marketing name) with completely different internals and different GPUs (I’m looking at you Samsung).

    Android is a fucking mess.