RenderStepped will make it smoother. But note that RenderStepped is per frame, so that must be taken into account if you’re worried about how quickly something will run.
Just a comment on this calculation even though @MightyDantheman solved your issue.
You are making more unnecessary calculations every Heartbeat (or RenderStepped) when the script runs and that will slow things down as well.
The above line just calculates to: script.Parent.PrimaryPart.CFrame = camframe with 3 extra calculations that always equal 0 added to it.