updateInvalidatedFastClusters called every frame for animations played inside viewport frames

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:

  1. To enhance the avatar preview within our catalog tool, we decided to play idle animations for the avatar, which is in a ViewportFrame.

  2. 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.

  3. 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.

  4. 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!

1 Like

We’ve filed a ticket into our internal database for this issue and will start investigating, we will update you when we have further information.

Thanks for flagging!

2 Likes

Hi I am working on fixing fast cluster slowdowns like yours.
Can you share what else other than just starting an animation you do in the script?
I am looking for a reliable test case that mimick’s your conditions.
Thanks!

1 Like

If you have an avatar with layered clothing, quickly zoom the camera in and out of first person. You’ll notice that the transparency being changed by the camera results in a huge performance slowdown.

@LoboTheCzarnian You can also look in this bug report for more cases :