Search Issue Tracker
Fixed in 2017.1.X
Votes
36
Found in
5.4
Issue ID
815861
Regression
No
CanvasRenderer.OnTransformChanged is called on disabled UI objects
When a transform with children CanvasRenderers is changed/moved CanvasRenderer.OnTransformChanged is called for all of them even if they are disabled causing huge CPU spikes.
The project attached contains a scene with 1000x4 such objects. Profiler shows a lot of time wasted in CanvasRenderer.OnTransformChanged every frame.
Comments (7)
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
- URP Realtime reflection probes do not update when RenderProbe() is being called once per second
- Addressable terrain shader variants are stripped from the Player
- [iOS] Debug.Log() appears as <private> in Console app
- UI stays in the background when it is disabled in simulator
- A wrong log file is attached when project is launched with a "-logFile" command line argument
k_belonogov
Mar 23, 2017 16:59
Thanks, Unity! It works in 5.5.2p4
k_belonogov
Mar 23, 2017 14:02
Unity 5.6.0f1 - nothing has changed :(((
CanvasRenderer.OnTransformChanged - 4000 calls
Froghuto
Jan 10, 2017 15:06
This makes using the UI system in VR projects (ui's that move with the camera) impossible. Please fix this!
Lszt
Jan 06, 2017 11:04
Issue exists on Unity 5.3 too and probably before this. Please it could be nice to do something or at least review this.
k_belonogov
Dec 16, 2016 06:17
There is not so good but working workaround. You can place inactive children from moving node to static one.
zbyhoo
Nov 08, 2016 17:29
Is there ANY workaround for that? I have really big performance problems because of that on iPad 3.