First of all, I would like to thank you for always allowing me to use Three.js.
Recently, we have noticed that the behavior is stuttering only in some environments.
Those environments are
Pixel 7 Pro Chrome (Android 13)
(confirmed on two “Pixel 7 Pro” devices)
I tested the following environments and this did not happen
Pixel 6 Pro Chrome (Android13)
Pixel 7 Pro Edge
iPhone 11 Pro Safari
Mac Chrome
Windows Chrome
Checking performance with the Chrome Devtool, it appears that there are frames where no processing is being performed, rather than “one process does not fit within a frame”.
The version of three.js is 0.127.0.
Attached is a performance image of Pixel 7 Pro when this phenomenon occurred. The area circled in red is where the “frames not being processed” are clearly visible.
It was just a wild guess since what you have described sounds like a typical device issue. You might want to report the issue to the Chromium bug tracker though (although I suspect it is related to the SoC driver or something similar).
When I had a little more time, I investigated my service and found that the problem is most likely occurring in the part that reads coordinates from the “Vertex Animation Texture”.
Based on this, I also measured the performance of “gpgpu birds” in “Three.js examples” and found the same stuttering.