Français
Source/ Codesnippets

Genauigkeit de Sleep (timeGetDevCaps / timeBeginPeriod)

 

Sven
Bader
depuis einiger Zeit habe je cela Problem, dass &gettickcount et sleep seulement encore sur ca. 16 ms oui c'est ca travailler. dans Kombination konnte un Sleep 1 avec folgendem Code 0 ou bien sogar 31 ms ausgeben!
Déclarer start&
start& = &gettickcount
sleep 1
imprimer (&gettickcount - start&)

Früher J'ai eu cela Problem pas mais es scheint aussi pas unnormal trop son. Entweder kam es par un Windows-Update ou bien une BIOS-Einstellung (letztes werde je encore validieren).

avec timeBeginPeriod habe je une API-Funktion trouvé, quelle qui Auflösung de Sleep wieder sur zuverlässige 1 ms apporter peux. qui folgende Beispielquelltext verwendet Schleifen avec je 100 Durchläufen, là &gettickcount pour comment avant ungenau arbeitet.

Im Screenshot zeigt sich qui Unterschied, probablement ist qui encore vorhandene faute de 0.79 ms sur Boucle + API-Aufruf zurückzuführen.

Im besten le cas avez son sur eurem calculateur chez beiden Durchläufen cela gleiche gute Ergebnis.


Déclarer  caps#, start&
Faible caps#,8'Minuteur Intervalle min/max auslesen
Decimals 2
Def timeGetDevCaps(2)  !"winmm","timeGetDevCaps"
Def timeBeginPeriod(1) !"winmm","timeBeginPeriod"
Def timeEndPeriod(1)   !"winmm","timeEndPeriod"
Fenêtre (%maxx * 0.5 - 250), (%maxy * 0.5 - 262) - 500,524
start& = &gettickcount

WhileLoop 100

    Sleep 1

Endwhile

Imprimer "sleep 1 dauerte durchschnittlich: " + str$((&gettickcount - start&) * 0.01) + " ms"
timeGetDevCaps(caps#,8)'Auflösung des Timers anfragen (caps# =  min ms, max ms)
Imprimer "\nSetze Minuteur-Auflösung sur kleinstmöglichen Wert: " +  str$(long(caps#,0)) + " ms \n"
timeBeginPeriod(long(caps#,0))'minimale Auflösung des Timers mettons, là sur manchen Systemen Sleep sonst seulement 15ms oui c'est ca ist!!
start& = &gettickcount

WhileLoop 100

    Sleep 1

Endwhile

Imprimer "sleep 1 dauerte durchschnittlich: " + str$((&gettickcount - start&) * 0.01) + " ms"
timeEndPeriod(long(caps#,0))'zuvor gesetzte minimale Minuteur-Auslösung zurücksetzen
Dispose caps#
WaitInput

8 kB
Hochgeladen:02.02.2023
Downloadcounter59
Download
 
02.02.2023  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.195 Views

Untitledvor 0 min.
ScanMaster20.06.2024
Sven Bader11.08.2023
Wilfried Friebe28.05.2023
funkheld14.05.2023
plus...

Themeninformationen

cet Thema hat 1 participant:

Sven Bader (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie