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

Package: Burst

-

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

  1. 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).

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.