Replace platform-specific GetMilliseconds using std::chrono.

This commit is contained in:
whitequark 2016-07-20 07:50:05 +00:00
parent a4a121694c
commit b0d37c1e78
5 changed files with 8 additions and 27 deletions

View File

@ -70,17 +70,6 @@ std::string CnfThawString(const std::string &val, const std::string &key) {
/* Timer */
int64_t SolveSpace::GetMilliseconds(void) {
clock_serv_t cclock;
mach_timespec_t mts;
host_get_clock_service(mach_host_self(), SYSTEM_CLOCK, &cclock);
clock_get_time(cclock, &mts);
mach_port_deallocate(mach_task_self(), cclock);
return mts.tv_sec * 1000 + mts.tv_nsec / 1000000;
}
@interface DeferredHandler : NSObject
+ (void) runLater:(id)dummy;
+ (void) runCallback;

View File

@ -194,12 +194,6 @@ static void CnfThawWindowPos(Gtk::Window *win, const std::string &key) {
/* Timers */
int64_t GetMilliseconds(void) {
struct timespec ts;
clock_gettime(CLOCK_MONOTONIC, &ts);
return 1000 * (uint64_t) ts.tv_sec + ts.tv_nsec / 1000000;
}
static bool TimerCallback() {
SS.GW.TimerCallback();
SS.TW.TimerCallback();

View File

@ -772,15 +772,6 @@ bool SolveSpace::FullScreenIsActive()
return false;
}
int64_t SolveSpace::GetMilliseconds()
{
LARGE_INTEGER t, f;
QueryPerformanceCounter(&t);
QueryPerformanceFrequency(&f);
LONGLONG d = t.QuadPart/(f.QuadPart/1000);
return (int64_t)d;
}
void SolveSpace::InvalidateText()
{
InvalidateRect(TextWnd, NULL, false);

View File

@ -24,6 +24,7 @@
#include <unordered_map>
#include <map>
#include <set>
#include <chrono>
#ifdef WIN32
# include <windows.h> // required by GL headers
#endif

View File

@ -61,6 +61,12 @@ bool SolveSpace::FilenameHasExtension(const std::string &str, const char *ext)
return true;
}
int64_t SolveSpace::GetMilliseconds()
{
auto timestamp = std::chrono::steady_clock::now().time_since_epoch();
return std::chrono::duration_cast<std::chrono::milliseconds>(timestamp).count();
}
void SolveSpace::MakeMatrix(double *mat,
double a11, double a12, double a13, double a14,
double a21, double a22, double a23, double a24,