GLscene et vitesse de traitement du CPU

mighty_warrior
Messages postés
123
Date d'inscription
lundi 12 juin 2006
Statut
Membre
Dernière intervention
9 février 2010
- 14 avril 2008 à 22:46
Rematrix
Messages postés
115
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
16 juillet 2008
- 19 avril 2008 à 12:21
Bonsoir,

Je suis en plein développement d'un petit jeu sous glscene. Tout vas plutôt bien sauf que j'ai remarquer que toute les actions de mon jeu se font plus ou moin rapidement en fonction du pc sur lequel il tourne: Par exemple sur mon pc le personnage que j'ai créer marche à une vitesse normal alors que sur un ordinateur plus puissant le personnage semble courrir.

Comment puis-je uniformiser tout ceci? y-a t'il une fonction dédiée dans GLScene?

Merci!

7 réponses

Caribensila
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
18
15 avril 2008 à 00:38
Salut,

Il y a bien longtemps que je n'ai pas utilisé GLScene, mais ça m'étonnerait que ce ne soit pas prévu....

Sinon, j'ai eu ce problème pour une petite anim dernièrement, et j'ai solutionné en me basant sur la fréquence du CPU avec ça :
QueryPerformanceFrequency();




// If the installed hardware does not support a high-resolution performance counter, the return value is zero.
Et ça marche sur XP et Vista...
Mais je pense que c'est moche. Ne serait-ce que pour les CPU MultiCore qu'on trouve maintenant...

Bref, je poste surtout pour avoir des réponses, comme toi.  ;)
0
mighty_warrior
Messages postés
123
Date d'inscription
lundi 12 juin 2006
Statut
Membre
Dernière intervention
9 février 2010

15 avril 2008 à 00:43
ok merci pour ta proposition c'est mieux que rien ...(j'avait même pas penser à l'impact sur les multicore ).
0
cs_MAURICIO
Messages postés
2106
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
15 avril 2008 à 14:54
Le truc serait d' utiliser GetTickCount pour voir le temps écoulé, il y a plein d' exemple ici.
Si le temps est court, bem tu fais attendre pour le prochain frame.

A+
0
f0xi
Messages postés
4205
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
12 mars 2022
38
15 avril 2008 à 16:41
Le timer de GLScene peut etre réglé de diverse maniere afin d'uniformisé la boucle sur n'importe qu'elle machine.
tu peu egalement utiliser un simple TTimer pour certaines routines.

<hr size="2" width="100%" />
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mighty_warrior
Messages postés
123
Date d'inscription
lundi 12 juin 2006
Statut
Membre
Dernière intervention
9 février 2010

15 avril 2008 à 16:52
Le souci c'est que j'utilise un GLCadencer et non un AsyncTimer (timer GLScene). Le probléme viendrait t'il du GLCadencer?
Je vais explorer la piste du timer GLScene. Merci du tuyau
0
mighty_warrior
Messages postés
123
Date d'inscription
lundi 12 juin 2006
Statut
Membre
Dernière intervention
9 février 2010

16 avril 2008 à 17:45
en realité l'emploi d'un asynctimer n'est pas une bonne idée (ça fait ramer le jeu....et ça ne resoud pas le probléme)
0
Rematrix
Messages postés
115
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
16 juillet 2008

19 avril 2008 à 12:21
Normalement le "GLCadencer" et mieux performant que " AsyncTimer" d'apré ma petite miniscule experience en GLscence{ par ce que j'ai pas utiliser de puis 2004 } mais éssay de faire tes propres threads au lieux d'utiliser "GLCadencer ou AsyncTimer", je voi pas d'autre solution.
0