CFrame gravity for a projectile, issue adjusting for lag

  1. What do you want to achieve?
    I want to create a bow and arrow, this portion of the script controls its gravity and motion.

  2. What is the issue?
    The main problem is how lag effects the arrow, as shown in the video below (The projectile that goes further is the one with a wait() applied.)

  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    Ive tried using delta ratios, I don’t know if I was doing it wrong, but it wasn’t working.

Without lag, it works perfectly fine, I’m just struggling to make it adjust for lag.

 local deltaTime = os.clock()-delta
 local timeinAir = os.clock()-timeFired

 projClone.Position = -(Vector3.new(0,(weight*(gravity/(timeinAir/timeinAir))*timeinAir^2),0))+
  projClone.Position+projClone.CFrame.LookVector.Unit*(deltaTime*speed)