Vous n'êtes pas identifié.
juste pr faire chier x-th
alors:
en démo complètement bridée (pr la jouabilité)
vitesse 0: 8fps
vitesse 1: 7fps
vitesse 2: 10fps
vitesse 3:11fps
vitesse 4: 13fps
vitesse 5: 17 fps
et e débridé: 35fps.........
fo bien ke je mette mon pitit post chiant non?
Hors ligne
1- falait dire que ct des tests de bomberman
2- c pas beaucoup, ton moteur est performant, tu devrais en débridé en avoir au moins 50 !
3- c facile de se moquer quand on s' est fait aidé ... Quand tu va mettre des trucs intéréssants dans ton prog, ton nb de fps va commencé a descendre, c moi qui te le dit !!!
Hors ligne
ah, l'éternel gueguerre STOUR vs BOMBERMAN :!::!::!:,
enfin, celui des programmeurs.
Hors ligne
Moi je vois bien la tete de bomberman comme vaisseau ennemi dans STOUR :twisted:
Hors ligne
8O CELLE DE CASIOM@X :!::?::!::?::!:
Hors ligne
tiens tiens:
c pas beaucoup, ton moteur est performant, tu devrais en débridé en avoir au moins 50 !
à koi ça sert d'avoir 50?
Le rafraischissement de la g100 n'atteint pas les 50Hz, alors à koi bon!
C t même toi qui m'avais dit un jour ke le rafraichissement de la g100 était d'environ 35Hz... En plus les tests n'ont pas été réalisés correctement, car si je ne voulais tester QUE le moteur là je suis d'accord avec toi.
Ah oui, et en plus j'ai aussi oublié de débrider le timer des touches! Celui là est l'un des plus importants!
Ce qui le ralentit le plus c'est les multibombes... en fait g créé un tablo de 10 caractères où je mets des 0 et des 1 pr savoir si telle ou telle bombe a explosé, et en scannant ce tablo, ben j'utilise des boucles for, ce qui ralentit tout énormément. (sans parler du bug grafik dont je t'ai parlé: les décors st inversés)
c facile de se moquer quand on s' est fait aidé ...
Mais je ne me moquais pas!!!
Et tu crois qu'on n'a pas essayé de t'aider? bah boudiou cherche tous les posts où on essaye de te convaincre de changer de mode, et de te donner des tuyaux et tu me diras que tu ne t'es pas fait aider...
Quand tu va mettre des trucs intéréssants dans ton prog, ton nb de fps va commencé a descendre, c moi qui te le dit !!!
C'est à dire des trucs intéressants? ça veut dire ke mon prog n'est pas
intéressant? et les fps qui descendent, tu sais, je m'en fous grave:
timer du jeu (qui ralentit l'exécution des tests):
for(i=0;i<=(7-speed)*1085;i++) {};
1er timer des touche multiples:
for (i=0;i<=roller+5;i++); { for (i=0;i<=10;i++) { outport (0x13,(1<<i)); if ((clavier[i]=inportb(0x13))!=0) j++; } }
2e timer des touche multiples, c'esy une boucle qui tourne sur elle-même 2 fois
ben alors avec ça si je n'ai pas de marge...
en plus combien de fois je suis venu dans ton post pour critiquer un peu STour?? ça doit pê être la 1ere fois... cherche dans les anciens posts de bomber combien de fois tu es venu pour critiquer (pê bien casser je sais pas...) le scrolling de mon jeu... et combien de fois g eu des remarques sur la rapidité?
Voila, en plus ce post n'était pas destiné à t'énerver mais à te motiver... je pensais avoir mis assez de "", mais non, tu t'es senti blessé... :?
Tant pis c'est ta vision!
:ange:
Hors ligne
ah vi g oublié de signaler que l'interruption 9 et 1Ch, que toi tu as désactivées pr plus de rapidité, ben chez moi elles sont pas désactivées! Ce qui fait que j'ai encore plus de marge... alors les fps qui descendent je crois que j'ai même pas à y penser, le jour où je trouverai ke le jeu à pris de la lenteur ben je baisse un timer (je mets par exemple 7000 cycles d'attente au lieu de 7595 actuellement...)
en plus il me semble que c'est moi qui t'ai dit comment les désactiver!!
Alors si tu persistes dans la voie où personne ne t'a aidé...
Hors ligne
ah vi g oublié de signaler que l'interruption 9 et 1Ch, que toi tu as désactivées pr plus de rapidité, ben chez moi elles sont pas désactivées! [...] alors les fps qui descendent je crois que j'ai même pas à y penser
tu veu voir un truc ?
quand les fps déscende, le jeu est fatalement plus lent !
Et donc il peut etre plus rapide a certains moments, ce qui mettrais a jour le mm probleme que le tout premier bomber man sur g100 !
c donc la qu' il faut faire gaffe !!
Ps: l' interruption 1c désactivé, g po vu de différence perso !
en fait c parce que j' avais désactivé l' interruption 9 et celle ci en mm temps !
Hors ligne
ben vi forcément, les tests parlent d'eux mêmes:
vitesse 0: 8 fps
vitesse 5: 17fps
ça n'a évidemment rien à voir...
et pr les interruptions, je me souviens plus combien t'avais gagné! 1fps?
ah vi et pr les trucs intéressants à rajouter, ben y'aura rien, sauf mes cheats, mais ça c rien du tout, car dès k'1 test est valide ben il retourne à la boucle principale et ne continue pas de tester (sinon perte de vitesse) donc ce ke tu dis n'est pas totalement vérifié!
mais une diff de 1 fps, dès ke t à plus de 10fps tu la verras certainement pas! par contre kan tu passes de 5 à 6 là c'est très visible.
Mais en plus si tu voyais l'état des sources de bomber actuallement, elles se sont bien "encrassées", et elles auraient bien besoin d'un coup de neuf car je sens ke g déclaré des vars inutiles et fait des boucles bizarres à certains endroits :!:
dc après révision, j'aurai encore agné en fps, mais maintenant ce n'est plus la vitesse qui m'intéresse, mais la taille
et sur ce plan d'optimisation, on va dire ke je ne suis pas encore au top
Hors ligne
ah voila g retrouvé le post où je T montré comment désactiver une int, et y'a un truc bizarre:
http://forum.graph100.com/viewtopic.php?t=1270
à un post tu dis ke:
FrameRate ac : de 8 a 11 ( c vraiment pas beaucoup ! mdr fodra optimiser ! )
FrameRate ss : de 7 a 10 !!
et y'a pas longtemps t'as dit ke 8fps c t énorme!
comment ça se fait?
Hors ligne
Ce qui le ralentit le plus c'est les multibombes... en fait g créé un tablo de 10 caractères où je mets des 0 et des 1 pr savoir si telle ou telle bombe a explosé, et en scannant ce tablo, ben j'utilise des boucles for, ce qui ralentit tout énormément. (sans parler du bug grafik dont je t'ai parlé: les décors st inversés)
Dis Casiomax, pourquoi tu n'utilise pas :
void memcopy(const void *src,void *dest,unsigned int size) { asm{ mov si,src // copie des blocs de donnees mov di,dest // de src a dest mov cx,size rep movsb }}
Par exemple :
unsigned char tab1[3][3]= { 1,2,3,4,5,6,7,8,9 }; unsigned char tab2[5][5]= {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; memcopy(tab1,tab2,sizeof(tab1)); // voila maintenant tab2={1,2,3,4,5,6,7,8,9,0,0,0,0,0,0 }
Hors ligne
Ce qui le ralentit le plus c'est les multibombes... en fait g créé un tablo de 10 caractères où je mets des 0 et des 1 pr savoir si telle ou telle bombe a explosé, et en scannant ce tablo, ben j'utilise des boucles for, ce qui ralentit tout énormément. (sans parler du bug grafik dont je t'ai parlé: les décors st inversés)
Et puis tu veu savoir pk stour est si lent par rapport a Bomberman ?
allez, je dévoile une partie de mes sources,celle concernant les tirs et autres objets :
Extrait de SPACETR.h :
char lobjet; [...] char actifobjet[[b]100[/b]]; [...] // routines de gestion d' objets ! // trouver un objet libre ! // -1 si rien n' est trouvé . // autre valeur correspondant a l'ID de l' objet trouvé . void findobjet() { lobjet=0; while(lobjet<[b]100[/b]) { if (!actifobjet[lobjet]) break; lobjet++; } if (lobjet==[b]100[/b]) lobjet=-1; return; }
Et oui, on voit clairement que g 100 objets a gérer !
Autre chose, g aussi 8 joueurs a gérer ( je me met toujours dans le cas le plus défavorable pour faire mes test sauf pour tester un truc bien précis), 10 créateurs a gérer aussi et je doit déssiner le tout !
Tiens, puisque tu aime bien les teste, je vais tester chaque modules de gestion séparement, puis ensemble pour te montrer les problèmes de Space Tournament :
1- joueur uniquement (sans affichage) : 47-49
2- créateur uniquement : 118-124 [visiblement ca vient pas de la ! ]
3- fonction spécial ADD-ON (ici DeathMatch) :
104-108 [la ca doit pas venir de la non plus ]
4- joueur avec dessin : 41-45
5- joueur avec objets, dessins des deux : 28-35 [ Je suis convaincu que c' est le taux que casioworld désire car c' est exactement ce qu' il faut a STOUR pour etre fluide et rapide a la fois !! ca va etre dure de l' ateindre mahleuresement, cependant, l' ASM fait des miracles ces temps ci ]
6- joueur,createur et objet avec dessin : 21-25 [ ca convient encore ... :? mais c pas assez car le jeu n' est pas bridé ...]
7- tout activé, sauf le moteur graphique de décor : 14-17 [ aille c' est plutot bas ...]
8- avec le moteur [ attention framerate suicidaire !!!] : 5-6 [ arghhhh me dira casioworld ba au moins la vitesse du jeu varie pas beaucoup
]
9- moteur uniquement [ c' est surement ca qui ralenti tout lol enfin en prioirité ] : 6-7 [lol c minable ... vivement que je le convertisse en assembleur lol]
Voila, dans l' ordre, c :
le moteur,les joueur, et les objets qu' il faut que j' optimise a fond !
Et casiomax, si tu nous faisait un rapport de ton jeu ?
Hors ligne
et mais c pa de la concurrance que vous faites !!!!!
réfléchissez un peu au lieu de vous engeulez !!!!
on dirait parfois ke vous faites expres !
Hors ligne
on dirait un gamin..."c pa moi c lui"
je te l'ai deja dit plusieurs fois ke tu te comportait kom un gamin.... maintenant tu sais pkoi (et c pa juste aujourdui avec casiomax !)
Hors ligne
Putain j' en ai marre de toi nykos g serieusement envie de me tirer de ce forum j' en ai raz le bol je fais rien je me prend tout dans la poire je vois aucune raison de rester tant pis pour les news et mes idées franchement vous me cassez les couilles !!!!
PS : De toute maniere tu m' a toujours détésté tu as toujours détésté mes programmes alors je vois pas pk je ferai un effort !!
Hors ligne
c'est pas que j'en ai rien a foutre de vos engueulade mais presque !
Xthunder: tu pourrais pas reduire le nombre de joueur et en mettre seulement 6 ? comme ca fait baisser le nombre d'objet à gérer et ca doit augmenter la vitesse.
faudrait l'avis des autres mais 6 joueur me parait suffisant ?
Hors ligne
Extrait de SPACETR.h :
Code:
char lobjet; [...] char actifobjet[[b]100[/b]]; [...] // routines de gestion d' objets ! // trouver un objet libre ! // -1 si rien n' est trouvé . // autre valeur correspondant a l'ID de l' objet trouvé . void findobjet() { lobjet=0; while(lobjet<[b]100[/b]) { if (!actifobjet[lobjet]) break; lobjet++; } if (lobjet==[b]100[/b]) lobjet=-1; return; }
Quelle ambiance!
Dis donc xthunder loin de moi l'idée de critiquer ( au contraire!! ) tes sources, si tu essayais plutot:
char lobjet; char actifobjet[101]; actifobjet[100]=0; void findobjet() { for(lobjet=0;actifobjet[lobjet];lobjet++); if (lobjet==100) lobjet=-1; }
C'est la technique du tri amélioré, ca te permet de faire un seul test plutot que deux dans ta boucle
Hors ligne
arf!
ca marche pas correctement si on arrive au dela de 100 !
char lobjet; char actifobjet[101]; actifobjet[100]=0; void findobjet() { for(lobjet=0;actifobjet[lobjet];lobjet++); if (lobjet>=100) lobjet=-1; }
La ca marche dans tout les cas !
Les pb est que ca ne s' arrete pas a 100 mais ca va lire au dela du tableau et donc des choses non prévisibles, en gros ca peut prendre plus de temps que prévu dans des rares cas, c pê la meilleur solution, ms pour le moment j' en suis pas la !
Sinon :
tu pourrais pas reduire le nombre de joueur et en mettre seulement 6 ? comme ca fait baisser le nombre d'objet à gérer et ca doit augmenter la vitesse.
faudrait l'avis des autres mais 6 joueur me parait suffisant ?
Bin en fait j' en ai carrément prévu 16 lol le problemes c' est que si on a ( dans la plupart des cartes) - de 8 joueurs ... bin on se retrouvent plus ,de + 8 joueurs ca me permet de faire 4 équipe de 2 ou plusieurs joueurs !
Mais apres, c vous qui verez !
Apres tout, ce sera pas moi qui choisira le nombre d' adversaires !!
Ce sera vous ! enfin du moins en entrainement, et en tournoi !
Hors ligne
Mais non justement, si tu regardes bien j'ai écrit
actifobjet[100]=0;
au debut pour que quoiqu'il arrive la derniere valeur corresponde toujours a ce qu'on cherche!
C'est une technique connue, elle consiste a écrire systématiquement a la fin du tableau la valeur cherchée, pour ne pas avoir a se soucier si on sort du tableau ou pas!
remarquez qu'ici j'ai été prudent, j'ai augmenté la taille du tableau, parce qu'en général on fait plus barbare que ca et on écrit carrément a coté du tableau pour etre sur de pas en sortir... overflow systématique, c'est qd meme pas génial :?
Hors ligne
Mais non justement, si tu regardes bien j'ai écrit
actifobjet[100]=0;
A ok j' avais pas vu !
Donc, en effet c ta solution la meilleur !
Hors ligne