Page 1 sur 1
Tempo inférieure à 1ms en C
Publié : 29 mai 2005 8:41
par JP
Bonjour à tous,
Est-il possible d'avoir une tempo inférieure à la milliseconde sur un PC et en C ?
a+
JP
Publié : 29 mai 2005 11:29
par Sly
Salut JP
essai de regarder si tu as acces à la variable d'environnement TickCount
en gros :
dim nb as double (en vb désolé
)
nb = Environment.TickCount
+
Publié : 29 mai 2005 11:35
par JP
Salut Sly
,
Merci, je vais me documenter là dessus.
a+
JP
Publié : 29 mai 2005 11:53
par JP
J'ai trouvé que TickCount renvoie le temps en milliseconde depuis le démarrage du PC.
Donc apparemment, on ne peut avoir une tempo inférieure à la milliseconde
Je continue à chercher.
Publié : 31 mai 2005 11:01
par hdan
Bonjour,
Oui, à la µs. (en vc++ toujours)
fonction a voir:
QueryPerformanceCounter();
faire un fonction style:
int uwait(unsigned long usecs)
// returns -1 si pas supporté 0 si ok
{
__int64 end;
__int64 freq; //the frequency used by PerformanceCounter
__int64 lasttime; //last time counter was queried
if (!QueryPerformanceFrequency((LARGE_INTEGER*)&freq))
return (-1); // error hardware doesn't support performance counter
QueryPerformanceCounter((LARGE_INTEGER*)&lasttime);
end= lasttime + usecs * freq / 1000000; // Conversion des
microsecondes en coup d'horloge.
do
{
QueryPerformanceCounter((LARGE_INTEGER*)&lasttime);
} while (lasttime < end);
lasttime=end;
return (0);
}
Publié : 31 mai 2005 11:10
par hdan
mis a part qu'il faudrait virer les init et faire gaffe au moment
ou l'on prend
QueryPerformanceCounter((LARGE_INTEGER*)&lasttime);
le tmps n'est pas compté avant.
Publié : 31 mai 2005 11:19
par JP
Merci hdan