Search Issue Tracker
Fixed in 2017.1.X
[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.
- Mesh.GetIndexBuffer() requires Mesh's 'Read/Write' flag to be enabled to get its index buffer data in Builds
- [Backport] [Sprite Atlas V1] Editor crashes when calling SpriteAtlasUtility.PackAtlases
- Deterministic builds have different files when built from the same project
- PlayerBuildInterface.ExtraTypesProvider no longer provides types to IL2CPP
- Touch input is reset in Device Simulator when Unity Remote is killed