Search Issue Tracker
Fixed in 2020.2.X
Fixed in 2019.4.X, 2020.1.X
Votes
0
Found in
2019.1.0b1
2019.3
2019.3.10f1
2020.1
2020.2
Issue ID
1252729
Regression
Yes
[iOS 13] Camera.allowDynamicResolution causes GPU performance regression
How to reproduce:
1. Open the attached 'DynamicResolution2019-Unity.zip'
2. Go to File > Build Settings and tick Development Build checkbox, switch platform to iOS
3. Build for iOS and open the Xcode project
4. Select Menu bar-> Product-> Scheme-> Edit Scheme
5. Set GPU Frame Capture to Metal and Metal API Validation to Enabled
6. Deploy the Xcode project to the iOS device
7. Notice that 'Dynamic Resolution' is set to 'False'
8. Press 'Capture GPU frame' button
9. Select Command Buffer in the sidebar and expand the graph folders
10. Notice that there are no fences
11. Select FPS panel in sidebar
12. Observe Utilization Tiler and Frame Time of GPU
13. Select Memory tab in sidebar and observe its usage
14. Exit GPU Frame Capture
15. Press 'Dynamic Resolution' button to set its value to 'True'
16. Press 'Capture GPU frame' button
17. Select Command Buffer in the side and expand the graph folders
18. Notice that there are fences
19. Select FPS panel in sidebar
20. Observe Utilization Tiler and Frame Time of GPU
21. Select Memory tab in sidebar and observe its usage
Expected result: GPU frame time, memory and tiler utilization values remain the same or differ insignificantly
Actual result: GPU frame time and memory have increased, tiler utilization has decreased
Reproducible with: 2019.1.0b1, 2019.4.2f1, 2020.1.0b14, 2020.2.0a17
Not reproducible with: 2018.4.24f1, 2019.1.0a14
Reproduced on:
- iPhone XR(iOS 13.4.1)
- iPad 7th gen (iOS 13.2.2)
- iPhone 6S (iOS 13.3.1)
- iPad Pro 12.9 1st gen (iOS 13.4.1)
Notes:
- Screenshot of test results attached in Edit
- The issue seems to reproduce when the GPU fences feature was introduced
- Reproducible on Metal; Cant test Open GL due to Replayer Termination error in Xcode
- Comparison of GPU frame time, memory and tiler utilization of different devices are attached in Edit
- Can't test lower than iOS 13 due to errors
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
- Mono Windows Builds don't produce full log callstacks when generating logs
- AssetBundles fail to load when running in Built Players for Mobile Devices
- UI elements with text gets bigger and grey when Player window is moved to another screen with different resolution
- System name accepts multiline text but crops it on confirmation, duplicates input, and shrinks the field when empty
- UI element scale and position are wrong in project build when DRS is changed with HDR and Software Dynamic Resolution enabled
Resolution Note (fix version 2020.2):
Fixed in 2020.2.0a21
Resolution Note (fix version 2020.1):
Fixed in 2020.1.3f1
Resolution Note (fix version 2019.4):
Fixed in 2019.4.9f1