Calcul des fps d' un jeu

Soyez le premier à donner votre avis sur cette source.

Vue 9 604 fois - Téléchargée 298 fois

Description

Permet de calculer le nombre d' images par secondes d' un jeu

A mettre dans la partie déclarations de ta feuille ou module (sur une seule ligne):

Private Declare Function timeGetTime Lib "winmm.dll" Alias "timeGetTime" () As Long

Les Variables sont à déclarer en globales et sont de type Long.

Source / Exemple :


Voyons comment est formée une boucle de jeu standard:

Afficher
Déplacer les objets
Tests divers
Récupérer les entrées (souris, clavier)
Calculer le temps écoulé par rapport au dernier passage

Pour calculer les FPS on met la procédure suivante pour calculer le temps écoulé. 

Sub CalcTPS()
NouveauTps = TimeGetTime
TpsEcoule = NouveauTps - AncienTps
AncienTps = NouveauTPS
FPS = 1000 \ TpsEcoule
End Sub

Ici on passe par plusieurs variables intermédiaires mais la variable TpsEcoule sera utilisée aussi pour réguler la vitesse du jeu donc on fais juste une extension de la fonction de calcul du temps écoulé.

Et on a donc une variable FPS affichable permettant de mieux connaitre les performabces de son jeu.

Conclusion :


Bon je l' ai mis dans DirectX car y a que là que çà sert.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
36
Date d'inscription
jeudi 26 février 2004
Statut
Membre
Dernière intervention
28 septembre 2004

Bonjour... Depuis 2001 le dernier commentaire.. Ouff hehe.
Certain on dit que cela ne marchais pas, probable si tu ne connais pas bien VB...
Mais VUX, tu aurais pu te forcer un peut quand même.
Je publie ta source refaite a ma guise si jamais quelqu'un ne comprendrais pas. Le code est a placer dans un module.

'Variables:
Public FPS As Long
Private i As Integer
Private NewTime As Long
Private DifTime As Long
Private LastTime As Long

'Fonction :
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Public Function FFPS() As Long
If i < 10 Then 'Attend 10 fois avant de changer le taux de FPS
a% (i + 1): i a% 'Augmenter la valeur i
NewTime = timeGetTime 'Temps Actuel
DifTime = NewTime - LastTime 'Différence entre le nouveau et le dernier
LastTime = NewTime 'Définition du dernier temps (Celui Actuel)
Exit Function 'Fin de lafonction
Else 'Maintenant sa fait 10 Fois ;)
i = 0 'i est de nouveau a 0
NewTime = timeGetTime 'Comme ci haut.....
DifTime = NewTime - LastTime
LastTime = NewTime
FPS 1000 \ DifTime 'La variable FPS le nouveu taux d'FPS
End If
End Function

Bien sur ceci ne saura surement pas bien placer....
Et comme vux disait il faut appeler la fonction dans la boucle... et la valeur de FPS sera dans la variable "FPS As Long".

c'est tout :) j'ai noter 9 car il y avais la base et seulement quelques erreur.
Vi mémère mais j' utilise la variable Tpsecoulé pour réguler la vitesse du jeu donc il la fo aussi en globale
Oui oui c'est mieux :oP ,il n'y a que la variable 'AncienTps' à déclarer en globale.
Sorry mémère je me suis trompé dans la frappe...
En plus ça marche même pas ton bidule, à la fin c'est AncienTps = NouveauTps .... D'autant plus que comme tu déclares pas tes variables en globales, ça marche encore moins... Alors ou tu les déclares à l'extérieur de ta Sub, ou tu la rends statique :oP

Mémère
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.