I changed my section "Loop 2" to run as designed... Try it now...Does it help?
SuperStrict Local v1:Float Local v2:Float Local time1:Int = MilliSecs() For Local i:Int = 1 To 1000 v1 = 0 v2 = 190 While v1 < v2 - 0.1 Or v1 > v2 + 0.1 v1 = tweenangle1(v1,v2,0.1) Wend Next time1 = MilliSecs() - time1 Print "Time1: " + time1 Local time2:Int = MilliSecs() For Local i:Int = 1 To 1000 v1 = 0 v2 = 190 While Abs(V1-V2)>.1 v1:+ tweenangle(v1,v2,0.1) If v1>360 Then v1:-360 If v1<0 Then v1:+360 Wend Next time2 = MilliSecs() - time2 Print "Time2: " + time2 End Function TweenAngle1:Float( p1:Float , p2:Float , t:Float) If Abs(p2-p1) > 180 If p2 < 180 Return wrapangle(p1 - t * (p1 - p2) + 180) Else Return wrapangle(p1 - t * (p1 - p2)) EndIf Return wrapangle(p1 + t * (p2 - p1)) Function WrapAngle:Float(angle:Float) Return (angle + 360) Mod 360 End Function End Function Function TweenAngle:Float( C:Float , T:Float , S:Float) Local DX:Float = T-C If Abs(DX)>180 Then DX=DX+Sgn(DX)*360 Return (DX*S) End Function