Invalidated fast clusters are recomputed every frame inside an invisible viewportframe

I’ve found a specific behavior where if you:

  1. clone a model
  2. parent it to workspace
  3. play an animation on the model
  4. and then parent it into a GUI container with any ancestor whose Visible = false,

it will continue recomputing the model’s fast clusters every frame, even if it is not visible or parented in workspace. It will do so every frame, taking up performance. If the GUI container becomes visible again, it will permanently fix the performance issue, until the above steps are reproduced again.

One important thing to note, is that this lag does not happen if the model is parented somewhere other than the workspace–for example, ReplicatedStorage. This leads me to believe it’s some caching mishap, however that is a completely wild guess.

I made a place file which reproduces this behavior. The script which creates this bug can be found in StarterPlayerScripts.
Place1.rbxl (65.8 KB)

5 Likes