This is causing significant issues for me, particularly affecting humanoids. The player character undergoes frequent changes during gameplay, and even a simple weapon switch causes micro stuttering due to our weapon-parenting approach.
We should find a way to avoid this optimization step, or make it an option, as it seems to do more harm than good in our game. Currently, I can force an update by adjusting the transparency of one part of the player character, this SHOULD NOT update the meshes or textures at all! If I try to tween the transparency of something parented to the player character, it causes very unstable framerates, which is something we need to address.
Most shooters on Roblox have players using FPS unlockers, rendering the 4ms budget relatively ineffective in these cases.
I can even cause the game to slow down to a crawl or even freeze for about 1-2 seconds in this repro file by removing or adding a part to the player character. I have exacerbated the issue by parenting 3000 hats in this case.
rebuildtest.rbxl (104.1 KB)