Search Issue Tracker
By Design
Votes
0
Found in
2017.4.0f1
2019.2.0a8
Issue ID
1134995
Regression
No
[OpenGL] Using Models with Blend Shapes causes the Skinning to happen on the CPU instead of the GPU
To reproduce:
1. Download attached project "blend-shapes.zip" and open in Unity
2. Open "SampleScene" scene
3. Make sure the current target is Standalone
4. Set Graphics API to OpenGLCore, OpenGLES2 or OpenGLES3
5. Make sure GPU Skinning is enabled in PlayerSettings
6. Open Unity Profiler
7. Enter to Play Mode
8. Record a few frames, then Pause/Stop PlayMode
9. In the CPU Profiler, click on a frame
10. Switch to Timeline view
Expected results: MeshSkinning.Skin marker should not be visible in the Worker Threads when analyzing the frame in the Profiler Timeline
Actual results: MeshSkinning.Skin is executed by Worker threads
Notes:
- This issue only appears on OpenGLCore, OpenGLES2, and OpenGLES3 Graphics API
- The Correct behavior would be if You see on Profiler MeshSkinning.SkinOnGPU
- The Project is attached in the Comments section
Reproduced on Unity 2017.4.0f1, 2017.4.23f1, 2018.3.8f1, 2019.1.0b6 and 2019.2.0a7
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
- ArgumentOutOfRangeException when manipulating the Project Settings search bar
- [Linux] Touch freezes in Player when any mouse button is clicked
- UnityEngine.Rendering.Volume.OnEnable() is called twice before OnDisable() creating multiple copies of the same volume when a volume is enabled right after Domain Reload when entering Play Mode
- Hinge Joint transforms are reset when toggling the "useMotor" property
- Motion Vector texture reports incorrect Mesh data when Mesh is coming from off-screen
Resolution Note:
GPU skinning only works on GLES3. But Android GLES3 GPU Skinning is disabled due to driver instability.