getTicksCount +- autobus?!
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 :-)
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 :-)
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;
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;