Recuperation des millisecond courante [C++] - Programmation
Marsh Posté le 25-02-2002 à 12:14:28
j'ai trouver une fonction permettant d'obtenir un temps de puis que le systeme est en marche
getTickCount();
donc plus besoin d'aide
Marsh Posté le 25-02-2002 à 12:50:16
Je ne sais pas s'il s'est amélioré, mais la semaine dernière, sous Win3.11, je me suis rendu compte que ce que je craignais arrive : GetTickCount() donne bien des ms, mais à 65ms près... Je voulais m'en servir pour faire un chrono à l milliseconde voire plus (pour une carte conv A/D). Raté (j'ai dû reprogrammer le 8253 interne)
Peut-être qu'en 32 bits, c'est plus "précis" à moins qu'il y ait une fonction spéciale.
Les Ticks, y en a 18,6 par seconde. Si on les compte (..TickCount), on a pas plus de précision quoi qu'on fasse (mais ça peut suffire !).
Marsh Posté le 25-02-2002 à 13:26:50
merci
but tu connais peut etre alors une autre fonction qui permet de
d'obtenir l'heure system a la milliseconde prés
merci encore
sultant
Marsh Posté le 25-02-2002 à 13:38:56
tu peux utiliser la fonction suivante :
SYSTEMTIME st;
GetSystemTime(&st);
str.Format ("%d%d%d%d", st.wHour, st.wMinute, st.wSecond, st.wMilliseconds);
la fonction se trouve dans <time.h>
Marsh Posté le 25-02-2002 à 15:02:16
j'ai essayé cette fonction et ca donnel exactement le meme resultat qu'avec GetTickCount() donc par soucit d'obtimisation je vais prendre un GetTickCount()
Merci quand meme
au est ce que l'export d'un fichier txt de 6 ko se fait en 110 ms ? ca parait plausible ?
Marsh Posté le 25-02-2002 à 17:40:33
Attention avec ce genre de fonction : C'est limité par le temps minimum alloué à chaque process. Sur Win98, c'est 55 ms (de mémoire) sur Win2k et plus c'est 10 ms (aussi de mémoire). Le temps sur PC est discontinu.
Marsh Posté le 25-02-2002 à 23:02:43
pour des machins temps réel y a des OS prévus pour ça, par ex QNX
Marsh Posté le 25-02-2002 à 23:17:45
gettickcount c'est pour du gros oeuvre
pour quelque chose de precis
faut regarder du cote des multimedia timer
ou performance counters.
c'est sur la MSDN je sais plus quelle rubrique
A+
LEGREG
Marsh Posté le 26-02-2002 à 09:09:19
Citation : Windows Time |
A+,
Marsh Posté le 25-02-2002 à 11:27:07
Ba voila je crois que le sujet est assez précis.
Je veux savoir s'il est possible de recuperer les
milliseconde courrante de l'heure courrante
car en utilisant CTime
CTime ludo = CTime::GetCurrentTime();
CString str;
str.Format("%d%d%d",ludo.GetHour(),ludo.GetMin(),ludo.GetSecond());
// y a po GetMillisecond
Kelkun auriait une idée
Merci d'avance .
---------------
Sega c'est plus fort que toi