Favicon Svethardware.cz  Svět hardware   Fórum Favicon Svetaudia.cz  Svět audia Favicon TVFreak.cz  TV Freak   Fórum Favicon Digimanie.cz  Digimanie   Fórum   Galerie Společnost oXy Online s.r.o.
Zobrazené výsledky: 1 až 3 z 3

Téma: getTicksCount +- autobus?!

  1. #1
    Pravidelný diskutér
    Registrace
    Jun 2004
    Příspěvků
    159

    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 :-)
    Odpovídat lze po přihlášení

  2. #2
    Starousedlík SMob
    Registrace
    Jan 2004
    Příspěvků
    2,017

    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;
    Odpovídat lze po přihlášení



  3. #3
    Pravidelný diskutér
    Registrace
    Jun 2004
    Příspěvků
    159

    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 :-)
    Odpovídat lze po přihlášení