CPU Spikes From Chairs

Hello,
I am currently working on a game for a league, one of the games that is required is an awards theater. I have been working on it for roughly the past week. The issue I am running into is whenever I sit in a chair in the theater, my CPU will spike greatly. I’ve also had multiple friends test my game and all have had the same issue. Initially, the chairs had multiple unions on them and were fabric material, so I separated the unions and made them smooth plastic material. However, the issue of CPU spikes is still occurring and I am not sure how to minimize it without having to remove a lot of seats. Is there another method I can try without having to do this?

Note: The part count for all of the chairs is 12,169. Each individual chair is 39 parts. The entire theater is 19,828 parts.

This is my CPU when standing up:

This is my CPU when sitting down:

2 Likes

you have too many parts for the chairs
when a player collides with this many parts, it causes lag.

Redesign the chairs to have less parts.

If you’re using special meshes or meshParts in the chairs then take a look at:
https://developer.roblox.com/en-us/api-reference/property/MeshPart/RenderFidelity

And if you’re using unions, look at the properties:
https://developer.roblox.com/en-us/api-reference/enum/RenderFidelity
https://developer.roblox.com/en-us/api-reference/enum/CollisionFidelity

If these values are set to precise, they will cost more than if set to automatic. You might even just be able to reduce cost on the physics engine by setting all the parts to CanCollide false, and using fewer invisible parts to handle physics collisions.

Hope that helps!

For each chair you could union 38 of the parts into one block, with the only other part being the Seat.

All the bricks look like plastic, so materials shouldn’t be an issue.

The collision fidelity should also be reasonable, but if not, you could try the new PreciseConvexDecomposition feature to get better collision accuracy.

Thank you for the suggestion, I simplified the chairs down to 15 parts and reduced the part count by 7k because of this. The CPU spikes no longer occur. Thanks!