Moving 1500~ parts drops FPS significally

I have a Train which has 5 coaches, each coach has 200 parts, there are 2 bogies per car, each trainset (Two bogies) has 100 parts; making the total part count rise to 1500.

Each Bogie is separate from the car, having its own Hinge constraint and their own weld script. (So the bogie also turns on curves, making a realistic effect)
image

The weird thing is that I’ve had trains (4 Cars) with easily 2000+ Parts moving with barely any FPS Drop

However, when I try that with the new train (Also having a new system) the FPS Drop to an unplayable level

Note: There is no networking going on, so I’m very confused at the network values

1 Like

You could union then. But unions do cause lag as well if they are too many of them. --Try it!
You could make the models in software like blender and then there wouldn’t be as many instances if i am correct.

3 Likes

If you zoom in all the way so that you’re not viewing the outside of the train, does the performance differ?

2 Likes

I would recommend exporting the trains parts as a wavefront (.obj) file and using blender to clean up the tri count, after that I would import all of the newley remodeled parts of the trains as meshes which are also quicker more optimized then many parts and see if that improves it which it should. Due to less parts and more optimized tri

2 Likes

Will be trying it, thanks for responding!

Update: I removed every union on the train. While there was a slight (3 FPS) boost, it didn’t appear to do much

It does differ, the FPS go up to 40 when looking towards the train

few things probably causing this:

  1. if you have a print for every single time you move a part
  2. if you are individually trying to move every single part in a loop
  3. if you have a signif amt of unions

try to convert the unions into meshparts and use pivot transforms: Model:PivotTo()
documentation

Export chunks of your train into blender to make them mesh, re import them to roblox.