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 34
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
Rejoignez-nous