1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef UI_GFX_FRAME_TIME_H
6 #define UI_GFX_FRAME_TIME_H
8 #include "base/time/time.h"
9 #include "base/logging.h"
13 // FrameTime::Now() should be used to get timestamps with a timebase that
14 // is consistent across the graphics stack.
17 static base::TimeTicks
Now() {
18 if (TimestampsAreHighRes())
19 return base::TimeTicks::HighResNow();
20 return base::TimeTicks::Now();
24 static base::TimeTicks
FromQPCValue(LONGLONG qpc_value
) {
25 DCHECK(TimestampsAreHighRes());
26 return base::TimeTicks::FromQPCValue(qpc_value
);
30 static bool TimestampsAreHighRes() {
31 // This should really return base::TimeTicks::IsHighResNowFastAndReliable();
32 // Returning false makes sure we are only using low-res timestamps until we
33 // use FrameTime everywhere we need to. See crbug.com/315334
40 #endif // UI_GFX_FRAME_TIME_H