Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(160)

Unified Diff: src/core/SkTime.cpp

Issue 1529603002: Revert of SkTime updates (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/core/SkTime.cpp
diff --git a/src/core/SkTime.cpp b/src/core/SkTime.cpp
index 16f66161a78969d6bea59644a30d7ed43d30ef88..86a0685c70af27703490024f15bf80ff5aef5152 100644
--- a/src/core/SkTime.cpp
+++ b/src/core/SkTime.cpp
@@ -36,13 +36,24 @@
return new double(1e6 / khz.QuadPart);
});
}
+#elif defined(__MACH__)
+ // TODO: fold into std::chrono when available?
+ #include <mach/mach_time.h>
+ SK_DECLARE_STATIC_ONCE_PTR(double, ns_per_tick);
+ double SkTime::GetNSecs() {
+ uint64_t ticks = mach_absolute_time();
+ return ticks * *ns_per_tick.get([]{
+ mach_timebase_info_data_t timebase;
+ (void)mach_timebase_info(&timebase);
+ return new double(timebase.numer * 1.0 / timebase.denom);
+ });
+ }
#else
- // This std::chrono code looks great on Linux, Mac, and Android,
- // but MSVC 2013 returns mostly garbage (0ns times, etc).
- // This is ostensibly fixed in MSVC 2015.
+ // This std::chrono code looks great on Linux and Android,
+ // but MSVC 2013 returned mostly garbage (0ns times, etc).
#include <chrono>
double SkTime::GetNSecs() {
- auto now = std::chrono::steady_clock::now();
+ auto now = std::chrono::high_resolution_clock::now();
std::chrono::duration<double, std::nano> ns = now.time_since_epoch();
return ns.count();
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698