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

  FORUM HardWare.fr
  Programmation

  Une API pour créer un chrono

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Une API pour créer un chrono

n°37427
Cytoplasm
Posté le 06-06-2001 à 16:28:01  profilanswer
 

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?

mood
Publicité
Posté le 06-06-2001 à 16:28:01  profilanswer
 

n°37438
darkoli
Le Petit Dinosaure Bleu
Posté le 06-06-2001 à 16:46:41  profilanswer
 

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

n°37441
Cytoplasm
Posté le 06-06-2001 à 16:53:04  profilanswer
 

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.

n°37446
trictrac
Posté le 06-06-2001 à 16:57:02  profilanswer
 

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

n°37448
HelloWorld
Salut tout le monde!
Posté le 06-06-2001 à 17:01:01  profilanswer
 

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


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°37450
JPA
Posté le 06-06-2001 à 17:03:44  profilanswer
 

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

n°37454
darkoli
Le Petit Dinosaure Bleu
Posté le 06-06-2001 à 17:16:17  profilanswer
 

je crois qu'il existe des trucs plus précis voir là :
 
http://msdn.microsoft.com/library/ [...] e_8wz8.htm

n°37457
trictrac
Posté le 06-06-2001 à 17:18:02  profilanswer
 

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

n°37463
janoscoder
Posté le 06-06-2001 à 17:27:25  profilanswer
 

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.

n°37469
HelloWorld
Salut tout le monde!
Posté le 06-06-2001 à 17:35:42  profilanswer
 

"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 !!! ;)


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
mood
Publicité
Posté le 06-06-2001 à 17:35:42  profilanswer
 

n°37473
HelloWorld
Salut tout le monde!
Posté le 06-06-2001 à 17:44:14  profilanswer
 

:sweat:
voila :  
http://forum.hardware.fr/sqlforum/ [...] e=0&cache=
 
on y parle de QueryPerformanceCounter et de SetThreadPriority ;)


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°37531
Cytoplasm
Posté le 06-06-2001 à 20:49:55  profilanswer
 

Cool, merci les gars, je vais voir et je reviens

n°37548
Cytoplasm
Posté le 06-06-2001 à 22:36:09  profilanswer
 

Ca marche TickCount, génial les gars, merci bcp!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Une API pour créer un chrono

 

Sujets relatifs
API Java 3DQui sais comment créer un fichier DTA??
Comment créer une DSN sans installer le logiciel ...[C++ ] ICQ API
[VB] comment créer une structure ?[JAVA] utilisation de la doc API
[ Visual C++ ] créer une console (style dos) dans une interface ?Créer un executable sur un CD ?
[JAVA] Comment créer un nouveau curseur ?créer un prog qui lance les *.reg
Plus de sujets relatifs à : Une API pour créer un chrono


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR