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
- “Default state” name in Inspector is not truncated when given longer name for “New State” in Animator window
- Upgrading HDRP Project causes the Cloud Layer to warp when using the Global Volume with the Visual Environment enabled
- The Inspector does not shown SkinnedMeshRenderer Bounds when they are overriden by script
- Confusing validation message in Scoped Registries
- Compute shader is dispatched with unsupported workgroup size on multiple browsers when building the project for Web with WebGPU Graphics API
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.