/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
clock med millisekunder.
Fra : Ole Dalsbæk


Dato : 11-12-00 13:41

Hej Gruppe

Jeg skal bruge en clock der giver en opløsning i millisekunder, gerne bedre.
Jeg har prøvet med <time.h> som påstås at give en opløsning i millisekunder,
men i virkeligheden kun giver en opløsning på 1/18 sekund.

Håber nogen har et svar evt. et bibliotek til rådighed.



 
 
Rasmus Bøg Hansen (11-12-2000)
Kommentar
Fra : Rasmus Bøg Hansen


Dato : 11-12-00 15:01

On Mon, 11 Dec 2000, Ole Dalsbæk wrote:

> Jeg skal bruge en clock der giver en opløsning i millisekunder, gerne bedre.
> Jeg har prøvet med <time.h> som påstås at give en opløsning i millisekunder,
> men i virkeligheden kun giver en opløsning på 1/18 sekund.

getitimer(), setitimer(), usleep(), nanosleep().

> Håber nogen har et svar evt. et bibliotek til rådighed.

Hvis du skal have en bedre tidsopløsning end millisekunder, skal
tidsskiver i dit OS være lige så nøjagtige. Hvis du ønsker en opløsning på
millisekunder og dit OS har en tidsskive på 1 millisekund, må der kun køre
en aktiv proces - ellers kan du ikke stole på, om der kører en anden
proces, når uret skulle have været aflæst...

Linux har IIRC en tidsskive på 20ms - så der giver usleep(), nanosleep()
o.l. ikke bedre resultater end tilsvarende millisekund-funktioner.

Windows's tidsskive er vist også på 20ms. Under DOS har du bedre chancer
- men der er jeg lidt blank.

--
Rasmus Bøg Hansen


Jørgen (11-12-2000)
Kommentar
Fra : Jørgen


Dato : 11-12-00 17:58

Problemet kan være at API funktionen GetLocalTime i virkeligheden kun
har en opløsning på (mindst) 10 msec (det har den i hvert fald kun med
min hardware: det sidste millisek-ciffer er altid nul)

API funktionen GetTickCount har derimod en opløsning på 1 millisekund
(stadig med min hardware og windows 98), så måske skulle du bruge den.

Jørgen

*********
The GetTickCount function retrieves the number of milliseconds that
have elapsed since Windows was started.

DWORD GetTickCount(VOID)


Parameters

This function has no parameters.

Return Values

If the function succeeds, the return value is the number of
milliseconds that have elapsed since Windows was started.

Remarks

The elapsed time is stored as a DWORD value. Therefore, the time will
wrap around to zero if Windows is run continuously for 49.7 days.
**************


On Mon, 11 Dec 2000 13:41:20 +0100, "Ole Dalsbæk" <ole@moebcon.com>
wrote:

>Hej Gruppe
>
>Jeg skal bruge en clock der giver en opløsning i millisekunder, gerne bedre.
>Jeg har prøvet med <time.h> som påstås at give en opløsning i millisekunder,
>men i virkeligheden kun giver en opløsning på 1/18 sekund.
>
>Håber nogen har et svar evt. et bibliotek til rådighed.
>


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste