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
» Problème de math
par papydall Aujourd'hui à 1:53

» A propos des attributs de fichier
par papydall Hier à 14:33

» Problème de math
par Marc37 Sam 21 Oct 2017 - 23:04

» I Love You
par papydall Sam 21 Oct 2017 - 19:22

» Un petit "coucou" à tous les Panoramiciens !
par mindstorm Sam 21 Oct 2017 - 17:06

» MARK_ON déclenche un événement ON_CLICK à la place de ...
par Jean Claude Mer 18 Oct 2017 - 18:08

» mise a jour calculatrice
par joeeee2017 Mer 18 Oct 2017 - 15:57

» [solved] 3D_LINE How to ?
par Jicehel Mer 18 Oct 2017 - 11:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Mar 17 Oct 2017 - 18:49

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» Calculatrice
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
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 : 5551
Age : 67
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 : 466
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
-
» [Résolu] Paramétrer historique de navigation
» Film haute définition
» Problème de précision
» 4G 1800 Mhz: Le dernier coup de Bluff, avant une décision favorable?
» Garmin HUD (affichage tête haute)

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