Effects grow larger when the framerate is lower

I’m working on a game and I’m just adding 3d effects right now, but this keeps happening when the framerate goes below 60.


This is the code for the vfx.

local dt=deltaTime*60
if newPart.Size ~= EndSize then
	newPart.Size=vlerp(newPart.Size, EndSize, sizeAlpha * dt)
end
if newPart.Color ~= endColor then
	newPart.Color=c3lerp(newPart.Color, endColor, colorAlpha * dt)
end
			
newPart.Transparency=newPart.Transparency+transparencyAlpha
newPart.CFrame=newPart.CFrame*cframeMult

For lerp you cannot simply use ratePerSecond * deltaTime.

You have to use this weird power formula.

		--local lerpFactor = 1-math.exp(-10*dt)
		local lerpFactor = 1-math.pow(0.5,10*dt)

Now this happens