Changes to MeshPart Size in a rig makes it stutter

Reproduction Steps

If you resize a skinned MeshPart within a rig, everything seems to have to be updated internally which causes visual lag. The framerate is stable and the microprofiler is not flagging anything wrong.

I’ve attached a reproduction file for engineers.

Expected Behavior

There shouldn’t be any visual lag.

Actual Behavior

There is visual lag.



Workaround

More or less, switching to rigid objects (Motor6D) seems to be fixing it, however this implies that everything has to work with this pipeline. In the past, we’ve had no success with mixed rigs (Motor6Ds and bones together) for multiple reasons, but we’ll still be giving it a try in the meantime.

Issue Area: Engine
Issue Type: Performance
Impact: High
Frequency: Constantly
Date First Experienced: 2023-03-14 00:03:00 (-04:00)
Date Last Experienced: 2023-03-16 00:03:00 (-04:00)
A private message is associated with this bug report

2 Likes

Yes, resizing the geo will cause the skiniing to be rebuilt, which is causing the stutter you see. We are working on an optimization that should reduce the stuttering, but the cost of the rebuild could still impact game performance.

In other engines, you would scale the bone rather than scaling the geo, which wouldn’t require a rebuild, but Roblox does not support bone scaling yet.

More or less, switching to rigid objects (Motor6D) seems to be fixing it, however this implies that everything has to work with this pipeline. In the past, we’ve had no success with mixed rigs (Motor6Ds and bones together) for multiple reasons, but we’ll still be giving it a try in the meantime.

This is the preferred method. If you are having problems with it please feel free to submit another issue so we can look into that.

1 Like

Hey there, we’ve noticed this issue starting to appear again in our live game.

Since the original post, we’ve converted our rigs to be hybrid, basically a mix of bones and Motor6Ds, which allows us to scale the regular mesh parts without rebuilding the skinning mesh. This proved to solve the issue for the time being. However, this has started to be relevant again since about a month, especially when the server starts being crowded.

It’s very difficult to say this is precisely the issue, however we have the same visual anomaly that this was causing which leads me to believe they are the same problem. The framerate is stable and the rest of things fired on Stepped do update accordingly.

Here’s a video of what is happening.

Everything still runs like a charm, minus the fact that the arms mesh (which is the only skinned mesh) seems to be throttled to be rebuilt.

Even more important than solving this, if you have any insight on how we could optimize this and lower the demand on what is running the skinning mesh rebuilding, we’ll gladly take it! :grin:

One last thing, there are a lot of systems at play, so don’t hesitate to reach out if you’d like to take a closer look with edit permissions.

1 Like

Can you submit a new bug report for this? It will get more visibility that way, thanks.

1 Like

Done, thank you!