GLscene et vitesse de traitement du CPU

Signaler
Messages postés
123
Date d'inscription
lundi 12 juin 2006
Statut
Membre
Dernière intervention
9 février 2010
-
Messages postés
115
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
16 juillet 2008
-
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

Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
16
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.  ;)
Messages postés
123
Date d'inscription
lundi 12 juin 2006
Statut
Membre
Dernière intervention
9 février 2010

ok merci pour ta proposition c'est mieux que rien ...(j'avait même pas penser à l'impact sur les multicore ).
Messages postés
2106
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
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+
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
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%" />
Messages postés
123
Date d'inscription
lundi 12 juin 2006
Statut
Membre
Dernière intervention
9 février 2010

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
Messages postés
123
Date d'inscription
lundi 12 juin 2006
Statut
Membre
Dernière intervention
9 février 2010

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)
Messages postés
115
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
16 juillet 2008

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.