FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» KGF_dll - nouvelles versions
par Yannick Aujourd'hui à 23:30

» Synedit Parameters
par Yannick Aujourd'hui à 23:26

» Un bug avec USER_EVENT ?
par Yannick Aujourd'hui à 23:16

» Concours de Morpions
par Froggy One Aujourd'hui à 19:30

» Bienvenue à Irikte
par papydall Aujourd'hui à 16:59

» Comment changer le graphisme d’un menu
par Yannick Aujourd'hui à 14:53

» LIBRARY COMMAND FUNCTION
par Jean Claude Aujourd'hui à 13:38

» OBJECT_PARENT NE FONCTIONNE PLUS ?! (RESOLU)
par Jack Aujourd'hui à 12:40

» Menu personalisé avec icones et menu contextuel
par Yannick Aujourd'hui à 12:10

» Doublon - Désolé !
par Laurent (Minibug) Aujourd'hui à 11:55

» Mac OS X sierra
par Irikte Aujourd'hui à 10:01

» Recherche de traductions de mots (@Klaus).
par Pedro Alvarez Hier à 20:34

» Problème avec SendStringAsText.
par Pedro Alvarez Hier à 20:32

» Version instantanée V 0.9.28i10 du 24/06/2017
par Yannick Hier à 18:19

» Mais qui a le focus ?
par Jack Hier à 16:35

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2017
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
2627282930  
CalendrierCalendrier

Partagez | 
 

  Chronométrer un traitement en haute précision

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
papydall

avatar

Nombre de messages : 5387
Age : 66
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Chronométrer un traitement en haute précision   Mer 27 Avr 2016 - 7:56

Vous trouvez qu'une milliseconde c'est trop long ?
Vous voulez compter en microseconde?
D'accord !
On y va  king


Code:

rem ============================================================================
rem          Chronométrer un traitement en haute précision
rem               en fraction de microseconde
rem ============================================================================
' "QueryPerformanceCounter" de kernel32.dll compte le nombre de cycle
' d'horloge du microprocesseur
' "QueryPerformanceFrequency" donne quant à elle le nombre de cycle pour une seconde
' Ces deux API nous permettent de mesurer des écarts de temps de l'ordre du
' millionième de seconde.
rem ============================================================================

dim ret%,Ctr1, Ctr2, freq,Acc,i
font_bold 0
dll_on "kernel32"
ret% = dll_call1("QueryPerformanceCounter",adr(Ctr1)) : ' Commence le chronométrage.
if ret% = 1
   for i = 1 to 100
       Acc = Acc + 1
   next i
   ret% = dll_call1("QueryPerformanceCounter",adr(Ctr2)) : ' Termine le chronométrage.
   print "Valeur de début : " + str$(Ctr1)
   print "Valeur de fin   : " + str$(Ctr2)
   ret% = dll_call1("QueryPerformanceFrequency",adr(freq))
   print "Résolution minimale de QueryPerformanceCounter : 1 / " + str$(freq)
   print "Temps par incréments de 100 : " + str$((Ctr2 - Ctr1) / Freq) + " secondes."
else
   print "Compteur haute résolution non pris en charge."
End_If
end
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
silverman

avatar

Nombre de messages : 453
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: Re: Chronométrer un traitement en haute précision   Jeu 28 Avr 2016 - 12:22

Je connais ça, mais ce n'est pas utile(selon moi) car panoramic ne mesure pas des millisecondes, mais des soixantième de seconde.
Code:

' panoramic 0927i7
'
dim init%, old_temps%, cpt%, temps%, old_cpt%
init%=NUMBER_TICKS
old_temps%=init%
cpt%=0
old_cpt%=cpt%

' mesure pendant 100 ms
while temps%<init%+100
   temps%=NUMBER_TICKS
   cpt%=cpt%+1
   '
   if (temps%-old_temps%)>0
      print "delta temps = ";(temps%-old_temps%);string$(20," ");"nb de bouclage = ";cpt%-old_cpt%
      old_cpt%=cpt%
   end_if
   '
   old_temps%=temps%
end_while
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 
Chronométrer un traitement en haute précision
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Code java pour un chronometre.
» [pas de solution] peux ton Chronométrer la durée de connexion des membres???
» [Résolu] Paramétrer historique de navigation
» Film haute définition
» [Tutoriel]Initiation au traitement d'images numériques

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Vos sources, vos utilitaires à partager-
Sauter vers: