Rework updateWorldMatrix / scene.autoUpdate
See original GitHub issueI think I would perhaps be able to implement a smarter system of handling matrixWorldNeedsUpdate
based on a tri-state value (“no update needed”, “I need update”, “some children need update”). With such implementation it would not be necessary to always traverse all objects in scene.updateMatrixWorld
, which I think is the main performance reason why people are disabling scene.autoUpdate
and resort to calling updateMatrixWorld
manually.
I think the implementation would be mostly backwards compatible (i.e. handling updateMatrixWorld
manually would still be possible, and the interface would not change when relying on automatic updates).
@WestLangley @mrdoob @Mugen87 Before I start experimenting with this, I would like to know what is the general sentiment here regarding such change. Would it be welcome, or do you prefer the things to stay as they are? If you feel this is a step in right direction, are there any special requirements / restrictions you would require from such change?
Issue Analytics
- State:
- Created 3 years ago
- Reactions:10
- Comments:16 (9 by maintainers)
Top GitHub Comments
Many users set the object matrix directly in their app. It is a feature that has been supported since the inception of three.js, and it is a feature we must continue to support.
Related #14138, #18344, #20220 (and actually many more^^).
I think you should closely study these discussions first before you try something new.