Search Issue Tracker
Fixed in Unity 2017.1
[Android] Performance regression when loading a prefab with a lot of child objects using Resources.Load()
1.Download and open attached "ResourcesLoadBugReport560p2.zip" project.
2.Build and run on Android device.
3.Open profiler in the editor and connect device.
4.Press "Resources Load" button.
5.Notice a load spike in CPU usage.
6.Inspect it and notice that under BehaviourUpdate | EventSystem.Update() | Loading.ReadObject a process named "Loading.ReadObjectThreaded" takes about 300~700 ms to complete.
Expected result: Load time to be about 40~50 ms.
Actual result: Load time is around 300~700 depending on a device.
Reproduced with: 2017.1.0b2, 5.6.0p3
Not reproduced with : 5.5.3p2, 5.4.5p1
Verizon SM G930V (Galaxy S7 Verizon), OS:7.0, CPU:arm64-v8a, GPU:Adreno (TM) 530, Build:Verizon/heroqltevzw/heroqltevzw:7.0/NRD90M/G930VVRU4BQA2:user/release-keys
Sony D6603 (Xperia Z3), OS:6.0.1, CPU:armeabi-v7a, GPU:Adreno (TM) 330, Build:Sony/D6603/D6603:5.1.1/23.4.A.1.264/2418263178:user/release-keys
Samsung SM G361F, OS:5.1.1, CPU:armeabi-v7a, GPU:Vivante GC7000UL, Build:samsung/coreprimeveltexx/coreprimevelte:5.1.1/LMY48B/G361FXXU1APB1:user/release-keys
Notes: On 2017 version, the ms seems to fall to around 100 ms, but this is still 2x slower than in 5.5 or 5.4. Prefab has around 650 child objects
Verified with 2017.2.0b2
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- [Presets] DefaultInpector type needs to be blacklisted
- Default Inspector Header is shown when double clicking on a scene
- [LWRP] Base map is missing on some materials after upgrading LWRP package
- Metal error when using subsurface scattering in HDRP
- gameObject.SendMessage doesn't accept value as a function argument correctly in the .NET 4.x Scripting Runtime