Currently it uses GetTimeMicros, which is the system time. Using steady time instead, makes the code type safe and avoids spurious offsets when the system time adjusts.
This is a backport of core#25456
The Tick helper is a dependency for future backports (starting with core#25717)