Search Issue Tracker
Won't Fix
Votes
0
Found in
2020.3.42f1
2021.3.15f1
2022.1.24f1
2022.2.1f1
2023.1.0a22
Issue ID
UUM-20629
Regression
Yes
[iOS] Concurrent downloads have become slower when using UnityWebRequest
How to reproduce:
1. Open the attached project "BundleDownload.zip" on 2019.2.7f2 or lower
2. Build and Run the Scene "bundledownload" for iOS
3. In the build, change the number in the Text field to a value between 2 and 20
4. Press the "DL Many" button
5. Once the downloads finish, observe the time it took, shown in the bottom left
6. Upgrade a project to a version from the list of reproducible versions
7. Repeat steps 1-5
8. Compare the time values
Expected result: On newer versions, it takes the same amount of time, or less to complete the download
Actual result: There is a noticeable increase in download time
Reproducible with: 2019.2.8f1, 2020.3.42f1, 2021.3.15f1, 2022.1.24f1, 2022.2.1f1, 2023.1.0a22
Not reproducible with: 2019.2.7f2
Reproduced with:
- iPhone 13 (iOS 15.0), using Wifi connection
- iPhone 12 mini (iOS 14.1), using Wifi connection
Notes:
- See comments for some additional information
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- "Problem detected while importing the Prefab file" errors on Learning Templates import
- Crash on RaiseException during Socket.BeginConnect in Player when application connection is blocked through commercial firewall
- Decal Projector produces artifacts when the normal and decal are projected in negative z-direction and Normal Blend is set to 1
- Undoing slider field change only resets slider position, doesn't undo the value change
- Precision changes when a tangent is added to a Vertex node
Resolution Note:
The change that happened in 2019.2.8 was a switch to using single NSURLSession for all downloads. The reason for change was to reduce memory usage, as separate session per request meant not only more memory used, but there were also issues related to how iOS handles secure connections under the hood, keeping some resources for a while in use even after request is complete, resulting in memory usage increase with each request in a memory-leak like fashion.
Also, on mobile platforms network speed usually plays a more significant role, speed tests using great wi-fi connection are a bit synthetic.
We believe that lower footprint for handling requests is more valuable here and it's a worthy tradeoff to have slightly slower individual downloads.