1

J'arrive plus à retrouver un poste où c'était expliqué comment calculer les FPS d'un jeu.
En fait je charche à savoir combien de fois par seconde est exécutée une fonction.

Si vous savez où ça se trouve ou bien si vous avez un exemple, il sont les bienvenus!

2

Deux approches :
- Tu exécutes la fonction n fois et tu regardes le temps mis.
- Tu exécutes la fonction pendant n unités de temps et tu regardes combien de fois elle a été exécutée.

Pour mesurer le temps, appuie toi sur les interruption 1 ou 5 (ou 3 si tu as une HW2).
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

3

Sur HW2 c'est assez facile l'AI3 est executée une fois par seconde. Su les autre calculatrice il est plus difficile d'avoir un FPS precis mais tu peux approximer l'AI5 à 18hz
avatar

4

18 Herz, plutot, et non MegaHerz, il me semble ?
(et c'est pas plutot entre 19 et 20 Hz, d'ailleurs ? )
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

5

Il vaut mieux calculer des mspf plutot que des fps car elles sont plus significatives pour voir un gain dans les optimisations de ta fonction.
(C'est Kevin qui me l'a conseillé)
Je dirais que les fps servent plutot pour les bench du hardware plutot que du software smile
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/

6

lionelA
: (C'est Kevin qui me l'a conseillé)

</argumentation solide>
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

7

Certes mais c'est le FPS qui va faire qu'un jeu d'action est jouable ou non. Sinon c'est vrai que pour un jeu d'échec ou de backgammon, ce n'est pas une valeur fondamentale.
avatar

8

Vertyos
:
lionelA
: (C'est Kevin qui me l'a conseillé)

</argumentation>


Oui désolé j'ai pas spécialement argumenté tongue

Bon donc (d'après ce que j'ai compris de ce qu'a expliqué Kevin) :
en phase d'optimisation pour pouvoir juger sur la pertinence d'un optimisation par rapport à une autre il faut parler en mspf ou en spf car ces valeurs augmentent linéairement en fonction des optimisations faites alors que les fps augmentent toujours par rapport aux fps d'avant ce qui fait qu'on peut pas dire quand on passe de 10 fps à 12 puis de 12 à 15 par exemple, que l'on a gagné 5 fps car c'est carrément faux.
L'autre raison est aussi que quand on dit "j'ai gagné 3 fps" ben il faut aussi preciser sur combien parce que 3 fps sur 5 a la base c'est enorme mais sur 1000 c'est de la merde. Dans les mspf tout ca est exprimé en une seule valeur.

Bon je dis ca mais je suis toujours en fps dans Fzero tongue
Mais bon voila parait que c'est mieux ..
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/

9

Sur HW2, avec les settings de reset (0xCC dans 0x600017), l'AI5 est déclenchée à 19.32 Hz environ (APD: ~310-311 secondes). On peut la mettre à 20.07 Hz environ (APD: ~299 secondes) en mettant 0xCE dans 0x600017.
Ces valeurs peuvent être retrouvées facilement à partir de j89hw.txt.

Rappel: l'écran est suffisamment mauvais pour qu'il ne serve à rien de dépasser 12 à 15 FPS.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

10

Ca sert peut être à rien au niveau du rendu, mais au niveau de la jouabilité ça peut changer énormément...
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

11

Oui je suis bien d'accord (j'ai d'ailleurs séparé le rendu de la partie gameplay dans mon jeu ce qui permet d'avoir un fps lent (10~12fps) avec un rafraischissement des input a environ 30Hz (et je peux monter a 256Hz)
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/

12

top
Mais y'a aussi le fait indépendant de l'écran qu'un objet se déplaçant de 10pxl par image à 10fps sera bien moins visible que le même se déplaçant à 1pxl par image à 100fps.
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

13

Oui d'où le compromis 30Hz pour un fps de 10~12 smile
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/

14

OK je vais essayer.
Par contre est-ce que les valeurs obtenus sur un émulateur (TI Emu en l'occurence) sont fiables?

15

> Oui je suis bien d'accord (j'ai d'ailleurs séparé le rendu de la partie gameplay dans mon jeu ce qui permet d'avoir un fps lent (10~12fps) avec un rafraischissement des input a environ 30Hz (et je peux monter a 256Hz)
C'est ce qu'il faut faire.
Le cas que cite Ximoon ne se pose pas dans tous les jeux...

> Par contre est-ce que les valeurs obtenus sur un émulateur (TI Emu en l'occurence) sont fiables?
Pas du tout. Il ne faut jamais croire un émulateur, les seules vraies mesures fiables sont réalisées sur de vraies calculettes.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

16

Euh les valeurs obtenues par TiEmu peuvent être considérées comme fiables, les interruptions ont la même fréquence que sur vraie Ti... Si il y a une différence elle est vraiment minime. Tous les programmes que j'ai essayé sur TiEmu avec des benchs me donnent les mêmes résultats que sur vraie Ti. J'ai constaté aucune différence avec Arkanoid qui donne 70 fps, GFA-Basic dont les benchs avec Timer sont identiques...

OK si tu veux des résultats hyper prècis dans ce cas utilise une vraie TI.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

17

Même avec la calibration, TIEmu reste dépendant de ton processeur. Il est meilleur en beaucoup de points que VTI (sauf la consommation CPU, justement), mais il ne faut pas trop en faire...
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

18

20 fps = 50 ms/frame
40 fps = 25 ms/frame
Donc que l'on utilise l'une ou l'autre mesure ça ne change strictement rien, excepté que ça peut sembler plus facile de se rendre compte de la perte engendrée et de comparer efficacement au reste du prog en sachant qu'avec une certaine fonction il passe par exemple de 10.3 à 10.8 ms/frame plutôt que s'il passe de 97 à 92 fps, surtout que dans la plupart des progs on limite le framerate (par exemple 20 fps max). tongue
Les résultats donnés par un ému ne sont pas 100% fiables, mais bon sur TI on n'a pas grand chose qui soit difficile à émuler correctement niveau timing non? Pour ne citer que le pipelining, le prefetch, le DMA de la RAM/VRAM par le contrôleur vidéo, etc. sur d'autres machines. smile
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

19

> Les résultats donnés par un ému ne sont pas 100% fiables
Sur VTI, c'est carrément 100% faux. Non seulement les chiffres bruts de l'émulateur sont très éloignés de ce qu'on mesure sur les calculettes réelles, mais encore, les ratios sont faux (couramment une unité, j'ai vu le cas d'une fonction que VTI dit 25% plus rapide alors que la différence de vitesse est beaucoup plus proche de 0% - et elle est peut-être dans l'autre sens !).

> Pour ne citer que le pipelining,
En principe émulé par GDB.
> le DMA de la RAM/VRAM par le contrôleur vidéo,
Pour émuler rigoureusement les HW1, il faudrait l'émuler...
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.