The advantage of switching from std::chrono::high_resolution_clock is that you do not store time points and time durations in Uint32 . The std::chrono comes with a wide range of std::chrono::duration , which you should use instead. This will make the code more readable and less ambiguous:
Uint32 t0 = SDL_GetTicks(); // ... Uint32 t1 = SDL_GetTicks(); // ... // Is t1 a time point or time duration? Uint32 d = t1 -t0; // What units does d have?
vs
using namespace std::chrono; typedef high_resolution_clock Clock; Clock::time_point t0 = Clock::now();
The typed system for holding points in time and time has no overhead in relation to simple storage of things in Uint32 . In addition, things will be stored in Int64 . But even if you really would like to customize,
typedef duration<Uint32, milli> my_millisecond;
You can check the accuracy of high_resolution_clock with
cout << high_resolution_clock::period::num << '/' << high_resolution_clock::period::den << '\n';
source share