Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Auto-Moto
Mobilní telefony
Notebooky  |  Tablety
Příslušenství
Wearables  |  Ostatní
Svět hardware  |  Digimanie  |   TV Freak

getTicksCount +- autobus?!

plachow_ce4you (159)|2.2.2005 19:44
Zdravím,
jak měříte v .NET CF přesně čas? Udělal jsem si báječné stopky, které mají jednu zásadní vadu, a tu že se rozcházejí o cca 3 vteřiny za minutu :-)

Měřím jednoduše pomocí Environment.TicksCount. Na MS píšou, že je přesnost cca 500ms, což je nic moc. Ale když na PPC existujou přesné stopky, tak proč by neměly fungovat přes .NET CF?

Díky za radu :-)
RStein (2012)|3.2.2005 10:10
Pouzijte OEM API funkce - pokud jsou implementovany, vraci neco jineho nez nulu

Deklarace funkco
DllImport("CoreDll.dll")]
public static extern int QueryPerformanceFrequency(ref Int64 frequency);

[DllImport("CoreDll.dll")]
public static extern int QueryPerformanceCounter(ref Int64 performanceCount);


priklad pouziti

Int64 freq = 0;
QueryPerformanceFrequency(ref freq);

Int64 time1 = 0;
Int64 time2 = 0;

QueryPerformanceCounter(ref time1);
//Pauza
Thread.Sleep(1000);
QueryPerformanceCounter(ref time2);
System.Int64 resultTime = (time2 - time1) * 1000 / freq;
plachow_ce4you (159)|3.2.2005 10:14
Díky, vím o nich, ale trochu mě vadí ta závislost na konkrétní mašině. Zkusím to každopádně... Na nekompatibilních mašinách to holt bude měřit přes getTicksCount :-)