S'identifier

API
Documentation
Ressources
Trucs & astuces
Libre
Gabarits
Services

Membres
Participer
Visiter

Contact

Meilleure résolution
mode 800 x 600

Optimisé pour
IE v.5
Netscape v.6
mais surtout pour
Mozilla v.1
minimum

 


Membre de Click-FR®, Réseau francophone Paie-Par-Click

QueryPerformanceFrequency

Date de parution : 02/11/2000 - Cette fiche API a été lue 2471 fois

Description

QueryPerformanceFrequency récupère la fréquence d'un compteur haute performance s'il en existe un sur l'ordinateur.

Syntaxe

AppelDLL32("kernel32", "QueryPerformanceFrequency", &lpliPerformanceFreq)

lpliPerformanceFreq

Pointe sur une variable que la fonction paramètre par un comptage en secondes.

Compatibilité

  • Windows 95 : supporté.
  • Windows 98 : supporté.
  • Windows NT : réclame Windows NT 3.1 ou plus.
  • Windows 2000 : supporté.
  • Windows CE : non supporté.

Remarque

Aucune

Exemple 1

// Testons les performances de votre ordinateur

temp est un monétaire // variable temporaire
freq est un monétaire // fréquence haute performance
count1 est un monétaire // lecture du temps avant calcul
count2 est un monétaire // et après calcul
buffer1 est un LARGE_INTEGER // donnée en entrée dans le tampon...
buffer2 est un LARGE_INTEGER // pour les fonctions timer
c est un entier long // compteur
res est un réel double // résultat du calcul des racines carrés
RetVal est un entier long // valeur de retour

// Obtenir la fréquence du timer haute performance
RetVal = AppelDLL32("kernel32", "QueryPerformanceFrequency", &buffer1)

SI retval = 0 ALORS

Info("Cette ordinateur n'a pas de timer haute performance !")

SINON

AppelDll32("kernel32", "RtlMoveMemory", &temp, &buffer1, 8)
freq = temp * 10000

// Temps que prend le calcul de
// 100.000 racines carrés
RetVal = AppelDLL32("kernel32", "QueryPerformanceCounter", &buffer1)

POUR c = 1 à 100000

res = Racine(c)

FIN

RetVal = AppelDLL32("kernel32", "QueryPerformanceCounter", &buffer2)

// Calcul de l'intervalle de temps entre les deux mesures
AppelDll32("kernel32", "RtlMoveMemory", &temp, &buffer1, 8)
count1 = temp * 10000
AppelDll32("kernel32", "RtlMoveMemory", &temp, &buffer2, 8)
count2 = temp * 10000
Info("Temps de calcul : "+ (count2 - count1) / freq + " sec.")

FIN


Nombre de commentaire sur QueryPerformanceFrequency : 0

Rappel : Le code fourni est compatible Windev v.4 et 5. Pour les versions supérieures, vous devez modifier le type des variables numériques. Par exemple : entier long devient entier.
Bien sûr, les marques citées sont déposées par leurs sociétés respectives. Ces pages sont à la disposition de tous, le code fourni est libre mais toute responsabilité est déclinée en cas de mauvais usage ou de dysfonctionnement.
© 2000-2005 Beaussier & Le Centre W..D..