Search Issue Tracker
Fixed
Fixed in 6000.0.1f1, 7000.0.0a1
Votes
9
Found in
6000.0.0b11
7000.0.0a1
Issue ID
UUM-61899
Regression
No
[IL2CPP][Performance] Throwing a large number (~10000) exceptions in an IL2CPP build is excessively resource-intensive
Reproduction steps:
1. Open the attached project “ReproProject”
2. Select IL2CPP as the Scripting Backend at (menu: Edit > Project Settings > Player > Other Settings > Configuration)
3. Build the project
4. In the app, Press the “Throw 10000 Exceptions” button (at the bottom right corner)
5. Open the Profiler Window (menu: Window > Analysis > Profiler) and observe the CPU usage (Scripts)
Expected result: The time (ms) it takes for the code execution is minimal (~50 - 150 ms)
Actual result: The execution time (ms) is around (~ 730 - 2000 ms)
Reproducible with: 2021.3.34f1, 2022.3.18f1, 2023.2.7f1, 2023.3.0b4
Reproducible with these devices:
VLNQA00518 - Google Pixel 4 (Pixel 4), CPU: Snapdragon 855 SM8150, GPU: Adreno 640, OS: 12
VLNQA00414 - Galaxy Note10+ 5G (SM-N976V), CPU: Snapdragon 855 SM8150, GPU: Adreno 640, OS: 9
VLNQA00278 - Xiaomi Redmi Note 7 (Redmi Note 7), CPU: Snapdragon 660, GPU: Adreno 512, OS: 9.0.0
VLNQA00139 - Vivo Xplay6 (vivo Xplay6), CPU: Snapdragon 820 MSM8996, GPU: Adreno 530, OS: 7.1.1
VLNQA00132 - Xiaomi Mi 5s (MI 5s), CPU: Snapdragon 820 MSM8996, GPU: Adreno 530, OS: 6.0.1
Not reproducible with this device:
iPad Air 4th Gen (iOS 15.2.1)
Reproducible on: macOS (Intel) 14.2.1, Windows 11 (10.0.22631) 64bit (by user)
Not reproducible on: No other environment tested
Notes:
- Reproducible on Standalone (macOS) with IL2CPP Scripting Backend
- Not reproducible with Mono Scripting Backend for Android & Standalone (macOS)
- Not reproducible in the Editor with both Scripting Backend (Mono & IL2CPP)
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
- Game controller input doesn't work on VisionOS 2.0
- WebCamTexture does not set the requested resolution when used in WebGL
- Editor default Stylesheet/Matching Selector buttons in Debugger don't do anything
- Graphics.DrawMeshNow stops rendering Render Texture after a few frames when viewed in the Player
- New selector in Matching Selectors displays as on line -1 in debugger
Resolution Note (fix version 7000.0.0a1):
Stacktrace for Android code changed to cache binary image and symbol lookup results.
Resolution Note (fix version 6000.0.1f1):
Stacktrace for Android code changed to cache binary image and symbol lookup results.