What's more performant in this situation? Part.Position or Part.CFrame?

So I have been told that CFrame is the fastest and most performant property to use when constantly updating parts.

What about in this situation below?

Woud this be faster?;

    Part.Position += Vector3.new(0, 1, 0)

or this?

    Part.CFrame *= CFrame.new(0, 1, 0)
1 Like

Position has three parameters (x,y,z)
But CFrame has six (position,orientation)

What do you want to do ? I think I can help you

Nothing in the code needs to change as the concept is exactly the same. I am creating a rain system that uses heaps of parts. There is an approximate of 200 to 300 parts on screen constantly moving and I was told by an official roblox dev that CFrame is the fastest property in a situation like this, but I want to confirm that as Part.Position seems much more simpler, but I just want to confirm.

1 Like

Use CFrame because he is better and faster

really offtopic but when you spawn those parts I also suggest turning off cancollide and cantouch as well as make them somewhat transparent, it saves some memory so it’s good to take note lol.

As for your question, yes, CFrame is more performant

1 Like

Nothing will change if you use Position

Also make
If rain touched it destroy

Make script inside rain and say :


And turn CanTouch on

My rain parts don’t get destroyed. I am using PartCache. So instead they just get teleported super far away. And also useless properties like CanTouch, CanQuery, CanCollide and all that are disabled. Material is even SmoothPlastic. So it’s super performant already. I’m just trying to get the most out of it.

But thanks for answering the original question anyways!

Ok ! no problem can you accept my friend request in roblox because I want to speak with real developers

that’s self understanding, if they didn’t destroy them then the game would break in minutes, if not even seconds