Chromium Code Reviews| Index: gpu/perftests/measurements.h |
| diff --git a/gpu/perftests/measurements.h b/gpu/perftests/measurements.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..649ff2e9a49d2b5a729b135c111bc2a63551cb21 |
| --- /dev/null |
| +++ b/gpu/perftests/measurements.h |
| @@ -0,0 +1,56 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef GPU_PERFTESTS_MEASUREMENTS_H_ |
| +#define GPU_PERFTESTS_MEASUREMENTS_H_ |
| + |
| +#include <string> |
| + |
| +#include "base/time/time.h" |
| +#include "base/timer/elapsed_timer.h" |
| +#include "ui/gl/gl_bindings.h" |
| + |
| +namespace gpu { |
| + |
| +struct Measurement { |
| + Measurement(); |
| + Measurement(const Measurement& m); |
| + Measurement(const std::string& name, |
| + const base::TimeDelta wall_time, |
| + const base::TimeDelta cpu_time, |
| + const base::TimeDelta gpu_time); |
| + ~Measurement(); |
| + |
| + void PrintResult() const; |
| + Measurement& Increment(const Measurement& m); |
| + Measurement Divide(int a) const; |
| + |
| + std::string name; |
| + base::TimeDelta wall_time; |
| + base::TimeDelta cpu_time; |
| + base::TimeDelta gpu_time; |
| +}; |
| + |
| +// Class to measure wall, cpu and gpu time deltas. |
| +// The deltas are measured from the time of the object |
| +// creation up to when Record is called. |
| +class MeasurementTimers { |
| + public: |
| + MeasurementTimers(); |
| + void Record(); |
| + Measurement GetAsMeasurement(const std::string& name); |
| + ~MeasurementTimers(); |
| + |
| + private: |
| + base::ElapsedTimer wall_timer_; |
|
piman
2015/01/30 21:12:04
ElapsedTimer uses TimeTicks::Now which can have lo
Daniele Castagna
2015/02/03 04:12:59
Done.
|
| + base::TimeTicks cpu_time_begin_; |
| + GLuint gl_queries_[2]; |
| + |
| + base::TimeDelta wall_time_; |
| + base::TimeDelta cpu_time_; |
| +}; |
| + |
| +} // namespace gpu |
| + |
| +#endif // GPU_PERFTESTS_MEASUREMENTS_H_ |