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
- Required SpriteMask class (ID 331) is stripped when "Strip Engine Code" is enabled
- “Maximized serialized file backup not found” error is thrown when minimizing a window in a newly opened project
- Build stack trace contains invalid lines when building with IL2CPP using scripts with delegates containing generic types in the signature
- Entities Systems window has a “Show Full Player Loop” dropdown which does nothing when clicked after enabling “Show Full Player Loop”
- Entities Hierarchy Search “Show/Hide” button’s Lens Icon is blurry when the Editor is on an external monitor
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.