|
| 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.
>
| |
|
|