Hi everyone,
I’ve run into a consistent issue on multiple Apple Vision Pro devices where downloads using URLSessionConfiguration.background are between 4× and 10x slower than when using URLSessionConfiguration.default. This issue is systematic and can easily be reproduced.
This only happens on device, in the simulator, both configurations download files at the expected speed with respect to the network speed.
Details:
- Tested on visionOS 26.0.1 and 26.1 (public releases)
- Reproduced across 2 Vision Pro (currently testing on a third one)
- Reproduced on 2 different Wi-fi networks (50mb/s and 880mb/s)
- From my tests this speed issue seems to affects multiple apps on my device: Stobo Vision (our app), Immersive India, Amplium
- Not server-related (reproduces with Apple CDN, S3, and DigitalOcean)
I’ve built a small sample project that makes this easy to reproduce, it downloads a large file (1.1 GB video) using two managers:
- One with URLSessionConfiguration.default
- One with URLSessionConfiguration.background
You can also try it with your own file url (from an s3 for example)
Expected behavior:
Background sessions should behave similarly to default sessions in terms of throughput, just as they do in the simulator. To be clear I am comparing both config when running in the foreground, not in the background.
Actual behavior:
Background sessions on Vision Pro are significantly slower, making them less usable for large file downloads.
On this screenshot it's even reaching 27x slower than the expected speed. Default config takes ~97s to download and Background config takes ~2640s. I do now have the fastest internet connection but 44min to download 90.5MB is extremely slow.
Has anyone else seen this behavior or found a workaround? Or is this an expected behavior from URLSessionConfiguration.background? If I'm doing something wrong please let me know
Repo link:
You should definitely file a bug about this. And please post your bug number, just for the record.
When it comes to networking, Apple Vision Pro is much like an iPad. Do you see the same behaviour with your app running on iPadOS? Or, if you don’t have an iPad, on an iPhone with the WWAN disabled?
One thing that’s specific to visionOS is that it has a few features that make heavy use of the Wi-Fi for real-time work. The ones that spring to mind are View Mirroring and Mac Virtual Display, but there are probably others. Real-time work will take priority of the bulk work done by a background session, so make sure you’re not using these features when running your speed tests.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"