limmt Le 15/02/2004 à 18:45 s ce que qq1 saurai pqoi ca:
void drawmap()
{
DrawGrayRect2B(0,0,240,128,8,1, GX_GetLightPlane(bf1), GX_GetDarkPlane(bf1));
short a=(short)(floor((-y)/32));
short b=(short)(floor((-x)/32));
for(vf=a;vf*32+y<128;vf++)
for(vf2=b;vf2*32+x<240;vf2++)
if(map[vf][vf2]!=-1 && maps[map[vf][vf2]]!=NULL && vf2>=0 && vf>=0 && vf2<50 && vf<50)
GX_PutSprite32_ER((GX_sprite_32_nomask *)(maps[map[vf][vf2]]), vf2*32+x, vf*32+y);
}
ca fait passer un prog de 35 a 5 fps??

Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP
Où sont déclarées tes variables x et y ? Et de quel type sont-elles ?
Idem pour vf et vf2.

« 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
. »
limmt Le 15/02/2004 à 19:07 [ pre ]??
x et y sont des float globales déclarées dans un header
vf et vf2 sont des sohrt globales déclarées dans un header

Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP
Sasume Le 15/02/2004 à 19:11Edité par Sasume le 15/02/2004 à 19:17 Bon, déjà, utiliser les floats est lent.
Mais à part ça, je ne vois pas ce qui ne va pas.
Au fait, il est inutile de faire un floor() avant une conversion vers un type entier, tu peux écrire directement (short)(-y/32), ou encore (short)(-y)/32 qui sera encore plus rapide.
[edit]:J'ai dit une bêtise car tes nombres sont négatifs, et il me semble que (short)(-2.5)=-2 et pas -3 comme floor(-2.5).

« 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
. »
Martial Demolins> Super, mais ce n'est plus indenté...

« 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
. »
limmt Le 15/02/2004 à 19:14 sasume > thx mais je doit mettre (short)(-y/32) et pas (short)(-y)/32 pasque le quotient n'est pas forcément entier
Martial Demolins > c qoi la diff avec mon source?

Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP
limmt Le 15/02/2004 à 19:24 dsl maais c exactement la mm chose

Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP
Et indenté comme ça, on reconnaît immédiatement l'algorithme en O(n²).
C'est un tilemap qui affiche un écran entier. Pas étonnant que ça prenne son temps. D'autant plus que 1/5-1/35=6/35 s, c'est-à-dire environ 171 ms, ce n'est pas beaucoup. (Ça m'énerve, cette habitude de compter tout en fps! Il est beaucoup plus intutif de compter en spf. Les fps font par exemple apparaître un passage de 100000 fps à 100 fps comme quelque chose d'énorme, alors que la différence n'est même pas de 10 ms par frame, bref totalement insignifiante! Plus un programme est rapide, plus le fait de prendre la réciproque fausse les résultats.)
Franchement limmt, tu ne donnes vraiment pas envie de t'aider...
Tu pourrais quand même t'appliquer un peu quand tu écris. Ça donne l'impression que tu nous méprises au point de ne pas vouloir faire d'effort pour nous aider à lire tes questions.

« 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
. »
Je n'ai pas compris ton calcul Kevin, d'où viennent tes chiffres ?

« 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
. »
Sasume Le 15/02/2004 à 19:32Edité par Sasume le 15/02/2004 à 22:41 Enfin, en tout cas, il me semble que les fonctions de graphx sont quand même bien programmées, ça devrait quand même tourner autour de 10-15 fps.
Enfin, si tu pars sur un programme qui tourne seulement à 35 fps sans le drawmap, c'est effectivement normal que tu descendes à 5.

« 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
. »
limmt Le 15/02/2004 à 19:33 si je met le drawmap tout seul sans le reste ca reste a 7fps

Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP
limmt Le 15/02/2004 à 19:34 et pi l'indentation est supprimée auto dans les post de Yn

Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP
C'est pour ça qu'on te demande d'utiliser la balise [ pre ] ducon.

« 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
. »
mdr sasume.
A mon avis ce ne sont pas les fonctions d'extgraph qui font ramer ton jeu mais plutôt comment tu programme ça.
Franchement Limmt, regarde les boucles que tu fais et l'utilisation des floats, c'est sûr que ça rame essaye de trouver une autre idée d'algorithme.
geogeo> Ce sont les fonctions de graphx en fait (je ne sais pas pourquoi j'avais écrit extgraph - c'est édité).

« 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
. »
Oui oui, les fonctions de graphx qu'il utilise sont plus rapides que les fonctions actuelles de extgraph.

« 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
. »
C pas vraiment normal que l'affichage d'un seul plan, qui plus avec des gros tiles (32x32), soit si lent... 15 fps, c juste avec l'affichage de la map, ou tu fais autre chose?
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
limmt Le 16/02/2004 à 19:13 15 fps avec la map + gestion de déplacement de 1 voiture (45 fps sans l'affichage de la map)

Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP
A mon avis l'affichage de la map tourne à plus de 22 fps...
« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)
limmt Le 16/02/2004 à 19:49 l'affichage de la map sans rien d'autre tourne a 20 fps

Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP