Search Issue Tracker
Fixed
Fixed in 1.6.0-pre.2
Votes
0
Found in [Package]
1.6.0-pre.2
Issue ID
BUR-1108
Regression
No
[Android] Inconsistent performance between Mono and IL2CPP when using Burst package
How to reproduce:
1. Open the attached project "BurstPerformanceTest.zip"
2. Set Scripting Backend to Mono in Project Settings -> Player -> Other Settings
2. In File -> Build Settings enable Development Build and Autoconnect Profiler
3. Build and Run
4. Observe CPU Usage on "JobTest:JobAndBurst (Burst) "
5. Set Scripting Backend to IL2CPP in Project Settings -> Player -> Other Settings
6. Build and Run
7. Observe CPU Usage on "JobTest:JobAndBurst (Burst) "
Expected results: CPU Usage is about the same on "JobTest:JobAndBurst (Burst)" when project is built with IL2CPP and Mono
Actual results: CPU Usage differs significantly on "JobTest:JobAndBurst (Burst)"
Reproducible with:
1.5.3 - 1.6.0-pre.2 (2019.4.25f1, 2020.3.6f1, 2021.1.5f1, 2021.2.0a15) - Mono is 5 times slower than IL2CPP
1.4.7 - 1.5.2 (2019.4.25f1, 2020.3.6f1, 2021.1.5f1, 2021.2.0a15) - IL2CPP is 4 times slower than Mono
Can't test with:
2018.4.34f1 - does not support Jobs package
Reproducible with:
VLNQA00277, Asus ROG Phone, Android: 8.1.0, CPU: Snapdragon 845 SDM845, GPU: Adreno (TM) 630
VLNQA00121, Samsung Galaxy S9, Android: 9, CPU: Exynos 9 Series 9810, GPU: Mali-G72
VLNQA00006, Samsung Galaxy S7, Android: 8.0.0, CPU: Exynos 8 Octa 8890, GPU: Mali-T880
N/A, Oneplus OnePlus Nord, Android: 10, GPU: Adreno (TM) 620
Not reproducible with:
Windows 10 Standalone
Notes:
- JobTest.JobAndBurst() - a function that commits a bunch of math operations wrapped in IJobParallelFor
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:
No repro for me (Galaxy S21, Unity 2020.3.2, Burst 1.4.7 and 1.6.0preview2).
The bursted job takes about 1.3ms. occasionally also 2.6ms on il2cpp build, but it doesn't matter as the frame time on il2cpp is under 10ms so the cores clock down/job is scheduled on mid cores instead of large core. (on mono frametime is 300ms so the CPU is busy and always clocked up... until it throttles).