I’ve noticed that there is a huge performance impact in linearRampToValueAtTime of PositionalAudio/AudioListener updateMatrixWorld. In chrome/edge FPS degraded to very low during time (may be it is internal browser’s issue or GC side effect) and devtools points to linearRampToValueAtTime function (big amount of scripting time spent on that) in updateMatrixWorld.
But the main question is why do updateMatrixWorld and such a things on invisible objects that don’t rendered as well as don’t used (for my case AudioListener/PositionalAudio) ??? I’ve added visible check inside of each updateMatrixWorld and it tuned performance a lot. May be it will be better to do it in project’s code as well ?
P.S. and also will be great to fix clock logic from my previous post ?