MCPcopy Create free account
hub / github.com/SakuraEngine/SakuraEngine / init

Method init

modules/core/core/src/core/log/tscns.hpp:38–50  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

36 static const int64_t NsPerSec = 1000000000;
37
38 void init(int64_t init_calibrate_ns = 20000000, int64_t calibrate_interval_ns = 3 * NsPerSec)
39 {
40 calibate_interval_ns_ = calibrate_interval_ns;
41 int64_t base_tsc, base_ns;
42 syncTime(base_tsc, base_ns);
43 int64_t expire_ns = base_ns + init_calibrate_ns;
44 while (rdsysns() < expire_ns)
45 std::this_thread::yield();
46 int64_t delayed_tsc, delayed_ns;
47 syncTime(delayed_tsc, delayed_ns);
48 double init_ns_per_tsc = (double)(delayed_ns - base_ns) / (delayed_tsc - base_tsc);
49 saveParam(base_tsc, base_ns, base_ns, init_ns_per_tsc);
50 }
51
52 void calibrate()
53 {

Callers 1

InitializeMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected