Consistent “updateInvalidatedFastClusters” Calls for Idle Animation in ViewportFrame
I hope this message finds you well. This issue pertains to the “updateInvalidatedFastClusters” call being triggered consistently when playing idle animations inside a ViewportFrame, resulting in performance problems. Here’s a demo game for our catalog tool: Popmall: Catalog & Avatar Editor - Roblox.
Summary of the issue:
-
To enhance the avatar preview within our catalog tool, we decided to play idle animations for the avatar, which is in a ViewportFrame.
-
This has resulted in the “updateInvalidatedFastClusters” call being invoked on every frame, causing severe performance lag for many users, especially those on lower-end machines.
-
The critical aspect of this bug is its inconsistency. While some users, especially those on lower-end machines, experience the issue, others do not. For instance, one user running a 1080ti encountered this problem, while another user on an M1 Mac did not.
-
The only known solution has been to remove the idle animation from the avatar preview, which is not ideal.
Here’s a microprofiler dump where you can see the call happening every frame:
microprofile-20231013-134057.html (3.9 MB)
In this case, the call average was only 2ms, but some of our users are seeing it as high as 12ms every frame for just the single idle animation being played inside a viewport.
This issue significantly impacts the user experience within our catalog tool, and I would greatly appreciate your help in investigating and resolving it. Thanks!