Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3313 connectés 

 


Dernière réponse
Sujet : Une API pour créer un chrono
Cytoplasm Ca marche TickCount, génial les gars, merci bcp!

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Cytoplasm Ca marche TickCount, génial les gars, merci bcp!
Cytoplasm Cool, merci les gars, je vais voir et je reviens
HelloWorld :sweat:
voila :  
http://forum.hardware.fr/sqlforum/ [...] e=0&cache=
 
on y parle de QueryPerformanceCounter et de SetThreadPriority ;)
HelloWorld "Celà me semble difficile du fait que l'horloge du PC est basée sur un composant qui déclenche une interruption tous les 1/18,6° de seconde"
:??: :??: :??:
ha le DOS ... cette IT est librement configurable ... si je me souviens bien, l'IT est declanchee qd le compteur interne atteint 65536 (=> remise à zero)... soit 65536 * 18.6 = 1 218 969 et qq ... soit + de 1.2 MHz ...
m'enfin bref on s'en fout.
tout ca pour dire que s'il veut de la tres grande precision, faut qu'il recherche du cote de sources qui recherchent la fréquence du CPU ... y'a eu un post pas tres longtemps, je m'en vais le trouver de ce pas !!! ;)
janoscoder y'a un truc sous windows qui est un high-precision timer, qui, si je souviens, tourne aux alentours de 2MHz, et je m'en sers pour afficher le frame-rate, donc 30msec, c'est parfait.
Je ne suis pas chez moi, donc je n'ai pas accès à mes sources, mais c'est sûr que ça existe.
Je ne suis pas sûr mais il avait peut être le terme performance dedans. En tout cas c'est vachement pratique pour timer les trucs rapides.
Si tu trouves vraiment pas, je pourrai y avoir accès dans qqes jours.
trictrac JPA> si la boucle est compliquée et qu'il faut l'inclure dans une autre boucle, il faut faire attention au cycle utilisé par la ggrande boucle, et vérifié que c'est insignifiant
darkoli je crois qu'il existe des trucs plus précis voir là :
 
http://msdn.microsoft.com/library/ [...] e_8wz8.htm
JPA Celà me semble difficile du fait que l'horloge du PC est basée sur un composant qui déclenche une interruption tous les 1/18,6° de seconde.
Si tu peux faire calculer ta boucle 100 fois, tu augmenteras la précision de la mesure.
Utile bien sur, uniquement pour optimiser du code !!!
HelloWorld y'a GetTickCount qui te renvoit le nombre de milliseondes écoulées depuis le démarrage de windows.
 
temps1 = GetTickCount(); /* à vérifier, je dis ca depuis VB :D*/
 ...
temps2 = GetTickCount();
 
temps écoulé : temps2 - temps 1 ...
 
mais bon ... windows étant multitache, il ne peut te garantir une précision supérieure à la milliseconde ...
et aussi de maniere un peu variable (sans rien changer tu peux trouver des temps variables)
tu peux essayer de modifier la priorite => plus elevee possible pour ne pas etre gene par les autres programmes ...
trictrac dans le doute:
ca va si tu la met dans une boucle  de 1 à 1000...  et tu divise par 1000 le temps obtenu.
Le temps sera un peu plus long, mais pas trop si ta boucle a mesurer est assez lourde.
@suivre
Cytoplasm Bien essayé mais on ne se débarrassera pas de moi comme ca!
en effet, j'ai besoin de chronométrer une boucle d'environ une trentaine de millisecondes et ceci précisement.
darkoli en c, y'a un truc simpe c'est time qui retourne l'heure ecoulee en seconde depuis y'a longtemps.
 
tu fais un time avant et apres la boucle et tu as la duree en seconde de la boucle.  
 
Mais le defaut c'est que la precision n'est pas géniale, une seconde !!!
Cytoplasm je démarre le chrono
je lance la boucle à tester
elle se termine
je regarde le chrono et  
HOP, j'ai le temps
qqn sait faire ca?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)