Search Issue Tracker
By Design
Votes
1
Found in
2017.4.0f1
2018.3.0a1
2018.4.2f1
2019.1.0a1
2019.2.0a1
2019.3.0a1
Issue ID
1166114
Regression
No
SkinnedMeshRenderer is updated for a Camera when it's culling mask does not intersect the renderer
How to reproduce:
1. Open the attached "SkinnedMeshPerformance.zip" project
2. Open the Profiler window
3. Enter Play mode
4. Inspect the Camera.Render calls in the Profiler
Expected results: Only a single Camera.Render call contains a SkinnedMeshFinalizeUpdate call
Actual results: All Camera.Render calls contain a SkinnedMeshFinalizeUpdate call
Reproducible with: 2017.4.29f1, 2018.4.3f1, 2019.1.8f1, 2019.2.0b8, 2019.3.0a8
Comments (1)
-
LazloBonin
Nov 18, 2024 20:31
Is there a way to circumvent this for performance reasons? When multiple cameras are in use in a scene with a significant amount of skinned meshes that they don't render, this behaviour massively impacts performance.
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
- Texture Sampling overlap causes graphical errors on specific Graphics APIs and Devices when using Framebuffer Fetch
- [Android] AssetBundle loading performance degradation when loading from a local Assetbundle
- [iOS][Android] Reflection with Generic Class returns unexpected values
- Shader Variant Collection Asset UI is hard to read when multiple Shaders and keywords are added
- Regression for "WebGL build is missing "malloc" and "free" functions when passing "-sERROR_ON_UNDEFINED_SYMBOLS=0" to emscriptenArgs"
Resolution Note (2019.3.X):
The selection of what render layer mask to apply happens _after_ culling. This is intentional as it allows the same culling result to be used with different render layers selected (i.e depth only vs opaque tag).