requestAnimationFrame: what exactly is the timestamp?

后端 未结 3 1467
伪装坚强ぢ
伪装坚强ぢ 2021-02-20 11:15

I have always thought that timestamp used by requestAnimationFrame is the same as usual timestamp in JavaScript, that is number of milliseconds since January 1st, 1970. Today I

相关标签:
3条回答
  • 2021-02-20 11:41

    Finally, I found the answer in an article by Paul Irish and the specification of High Resolution time:

    requestAnimationFrame API: now with sub-millisecond precision

    High Resolution Time

    The rAF time is "measured relative to the start of navigation of the document", that is relative to the "navigationStart attribute of the PerformanceTiming interface".

    0 讨论(0)
  • 2021-02-20 11:46

    It's a DOMHighResTimeStamp or a high-resolution timestamp (the same you get with window.performance.now()).

    The time stamp is:

    current time for when requestAnimationFrame starts to fire callbacks.

    The main difference between an ordinary timestamp and high-res timestamp is:

    DOMTimeStamp only has millisecond precision, but DOMHighResTimeStamp has a minimal precision of ten microseconds.

    Note: some browsers do not implement this aspect of rAF yet and may give you faulty or no value as argument.

    Some resources:

    • requestAnimationFrame
    • DOMHighResTimeStamp
    0 讨论(0)
  • 2021-02-20 11:57

    MDN says:

    The callback has one single argument, a DOMHighResTimeStamp, which indicates the current time (the time returned from performance.now() )

    And this is what performance.now() returns:

    The returned value represents the time elapsed since the time origin.

    The time origin is a standard time which is considered to be the beginning of the current document's lifetime.

    0 讨论(0)
提交回复
热议问题