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

iOS

-

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

  1. Resolution Note (fix version 2020.2):

    Fixed in 2020.2.0a21

  2. Resolution Note (fix version 2020.1):

    Fixed in 2020.1.3f1

  3. Resolution Note (fix version 2019.4):

    Fixed in 2019.4.9f1

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.