| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/debug/lap_timer.h" | 5 #include "cc/debug/lap_timer.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 | 8 |
| 9 namespace cc { | 9 namespace cc { |
| 10 | 10 |
| 11 namespace { | 11 namespace { |
| 12 | 12 |
| 13 base::TimeTicks Now() { | 13 base::TimeTicks Now() { |
| 14 return base::TimeTicks::IsThreadNowSupported() ? base::TimeTicks::ThreadNow() | 14 return base::TimeTicks::IsThreadNowSupported() ? base::TimeTicks::ThreadNow() |
| 15 : base::TimeTicks::Now(); | 15 : base::TimeTicks::Now(); |
| 16 } | 16 } |
| 17 | 17 |
| 18 // Default values. |
| 19 static const int kTimeLimitMillis = 3000; |
| 20 static const int kWarmupRuns = 5; |
| 21 static const int kTimeCheckInterval = 10; |
| 22 |
| 18 } // namespace | 23 } // namespace |
| 19 | 24 |
| 20 LapTimer::LapTimer(int warmup_laps, | 25 LapTimer::LapTimer(int warmup_laps, |
| 21 base::TimeDelta time_limit, | 26 base::TimeDelta time_limit, |
| 22 int check_interval) | 27 int check_interval) |
| 23 : warmup_laps_(warmup_laps), | 28 : warmup_laps_(warmup_laps), |
| 24 remaining_warmups_(0), | 29 remaining_warmups_(0), |
| 25 remaining_no_check_laps_(0), | 30 remaining_no_check_laps_(0), |
| 26 time_limit_(time_limit), | 31 time_limit_(time_limit), |
| 27 check_interval_(check_interval) { | 32 check_interval_(check_interval) { |
| 28 DCHECK_GT(check_interval, 0); | 33 DCHECK_GT(check_interval, 0); |
| 29 Reset(); | 34 Reset(); |
| 30 } | 35 } |
| 31 | 36 |
| 37 LapTimer::LapTimer() |
| 38 : LapTimer(kWarmupRuns, |
| 39 base::TimeDelta::FromMilliseconds(kTimeLimitMillis), |
| 40 kTimeCheckInterval) { |
| 41 } |
| 42 |
| 32 void LapTimer::Reset() { | 43 void LapTimer::Reset() { |
| 33 accumulator_ = base::TimeDelta(); | 44 accumulator_ = base::TimeDelta(); |
| 34 num_laps_ = 0; | 45 num_laps_ = 0; |
| 35 remaining_warmups_ = warmup_laps_; | 46 remaining_warmups_ = warmup_laps_; |
| 36 remaining_no_check_laps_ = check_interval_; | 47 remaining_no_check_laps_ = check_interval_; |
| 37 Start(); | 48 Start(); |
| 38 } | 49 } |
| 39 | 50 |
| 40 void LapTimer::Start() { | 51 void LapTimer::Start() { |
| 41 start_time_ = Now(); | 52 start_time_ = Now(); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 71 } | 82 } |
| 72 | 83 |
| 73 float LapTimer::LapsPerSecond() { | 84 float LapTimer::LapsPerSecond() { |
| 74 DCHECK(HasTimedAllLaps()); | 85 DCHECK(HasTimedAllLaps()); |
| 75 return num_laps_ / accumulator_.InSecondsF(); | 86 return num_laps_ / accumulator_.InSecondsF(); |
| 76 } | 87 } |
| 77 | 88 |
| 78 int LapTimer::NumLaps() { return num_laps_; } | 89 int LapTimer::NumLaps() { return num_laps_; } |
| 79 | 90 |
| 80 } // namespace cc | 91 } // namespace cc |
| OLD | NEW |