Search Issue Tracker
By Design
Votes
2
Found in
2019.4
2020.2
2020.2.1f1
2021.1
2021.2
Issue ID
1311730
Regression
No
DrawMeshInstanced has no performance difference when drawing many objects when compared to rendering many GameObjects without it
Steps to reproduce:
1. Open the user's attached project "UnitDrawMeshInstanced.zip"
2. Build it for Android
3. Open the app
4. In the bottom right corner press the "Instancing" button
5. Notice the fps does not change in the top right corner
Expected results: FPS increase noticeably
Actual results: FPS does not change
Reproducible with: 2019.4.24f1, 2020.2.3f1, 2021.1.0b5, 2021.2.0a7
Reproducible devices:
, Xiaomi Redmi 4 (Redmi 4), Android 6.0.1, CPU: Snapdragon 430 MSM8937, GPU: Adreno (TM) 505
VLNQA00264, Samsung Galaxy S10+ (SM-G975F), Android 10, CPU: NOT FOUND, GPU: Mali-G76
VLNQA00279, Samsung Galaxy S10+ (SM-G975U), Android 9, CPU: Snapdragon 855 SM8150, GPU: Adreno (TM) 640
----------, Huawei Mate 40 Pro, Android 10, CPU: HiSilicon Kirin 9000, GPU: Mali-G78
----------, Huawei P40 Pro, Android 10, CPU: HiSilicon Kirin 990 5G, GPU: Mali-G76
Does not reproduce with: iPhone 12 Pro (iOS 14.2.1), iPhone 6S (iOS 13.3.1)
Note:
- Standalone and Editor has an around 2x performance
- User informed that he was able to achieve a performance boost on some devices
- Reproduces with Vulkan and OpenGles3
- Issue Reproduces with MacOS editor with Metal
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
- Crash on physx::shdfnd::atomicIncrement when adjusting values on a character controller component after entering Play mode in Prefab edit mode
- [Rendering Debugger] [NewInputSystem] Debug Overlays in Play mode throws InvalidOperationException when using New Input System
- [RenderingDebugger][InputSystemPackage] Ctrl+Backspace shortcut doesn't work to open the Rendering Debugger when New Input System is in use
- No option to skip video transcoding when launching a Project
- “ValidateSchema Error2” error is thrown in the Player when using IL2CPP Scripting Backend
Resolution Note (2021.2.X):
DrawMeshInstanced reduces the amount of work done by main thread so the rendering time is not affected if the scene is not CPU or GPU bound. I couldn't reproduce the 2x performance difference in the Editor or device. The only performance difference is the addition of objects sorting for rendering, this has a low impact on performance. The only way to 2x performance gain if rendering takes less than 16ms and the app starts rendering every Vsync instead of every second Vsync.