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
- Too little validation messages in the "WebAssembly Language Features" Memory settings
- Project Settings Search Highlights are misaligned when using the Bitmap Text Rendering Mode
- "GetControlID at event ValidateCommand returns a controlID different from the one in Layout event" Warning is thrown when undoing the deletion of Sprite Shape Profile
- Memory related fields in the "WebAssembly Language Features" can be set to the negative numbers
- "WebAssembly Language Features" Header in the Player Settings has a smaller indentation
Resolution Note:
GPU skinning only works on GLES3. But Android GLES3 GPU Skinning is disabled due to driver instability.