I used a TweenInfo created as TweenInfo.new(9) to tween TextTransparency of a TextLabel and upon measuring the time it took to tween, it took only ~6 seconds instead of 9.
Edit: It also seems playing a tween as soon as the game loads (e.g. immediately create and play a tween in a StarterGui LocalScript) causes it to complete instantly.
I have just been able to get this issue. My tweens can be up to 20% off of the duration they’re actually meant to be. I’ve checked that it’s not tween.Completed firing too early. To reproduce, I’m just tweening the transparency of a part from 0 to 1, over 5 seconds with Linear EasingStyle. However I can replicate this with 1 second, and 10 second TweenInfo durations (the only one’s I’ve tested).
Transparency updated: 0.98572075366974 . 3.9243049621582 seconds in.
Transparency updated: 0.98993647098541 . 3.945249080658 seconds in.
Transparency updated: 0.9925183057785 . 3.9668910503387 seconds in.
Transparency updated: 0.99660396575928 . 3.9785261154175 seconds in.
Transparency updated: 0.99871790409088 . 3.9987909793854 seconds in.
Transparency updated: 1 . 4.0090310573578 seconds in.
-- tween.Completed fired
Intended duration: 5
Actual duration: 4.009192943573
Completed state: Enum.PlaybackState.Completed
As you can see, this is quite inaccurate.
Here is the code I’m using to make this issue, just place it in a script below a part.
local TweenService = game:GetService("TweenService")
local DURATION = 5
local part = script.Parent
local tweenInfo = TweenInfo.new(DURATION, Enum.EasingStyle.Linear)
local tween = TweenService:Create(part, tweenInfo, {Transparency = 1})
local startTick = tick()
print("Playing tween..")
part:GetPropertyChangedSignal("Transparency"):Connect(function()
print(string.format("Transparency updated: %s, %s seconds in.", part.Transparency, tick() - startTick))
end)
tween:Play()
local state = tween.Completed:Wait()
print(string.format(
[[-- tween.Completed fired
Intended duration: %s
Actual duration: %s
Completed state: %s]],
DURATION, tick() - startTick, tostring(state)
))