Ah ! Tout plein de commentaires a repondre

Je m'ennuyait la. Va faloir se faire les dents.
TiMad a écrit :
Genlib est loin d'emuler une console.. d'ailleur je ne vois pas en quoi elle en emule une, sachant qu'elle a que des fonctions basiques.
Les capacites hardware proposees par une console sont en generals tres simples. Meme pour le mode 7 de la snes, il faut gerer pas mal de chose par soi meme.
De plus sur un 68k, on ne prog pas de la meme maniere que sur une console:
>HW limité
>RAM limité
>ROUTINE GRAPHIQUES en ram
La RAM d'un console est dans 90% des cas plus rapides, donc les programmeurs recopient leur code graphique en RAM avant de l'executer.
Genlib est tout sauf une lib graphique dite evoluée pour les 68k:
Ce n'est pas une librairie. C'est un environnement de developement !
>Genlib ne presente que des sprites par transparence:
Oui sur les consoles ca marche comme cela, mais sur console on a plus
de 4 niveaux de gris.
>> consequence, les jeux genlib font une emulation 4 niveaux de gris,
et sont souvent tres sombre: seiken ....
Comme a dit Nitro, tu connais les GB,GBC, NGPC, ...
>Genlib n'est pas optimisée niveau algo:
Dans 99% des jeux, les perso missiles evoluent de pxl en pxl, genlib
recalcule tout a partir de l'addresse du debut du gl_plan
>> perte de temps non negligeable, 20% de perte en rapidité par rapport a X.
Arf, il me semblait pourtant que dans X on redessinnait tout aussi. Mais je peux me tromper
Et si le nombre de missilles devient grand, il vaut vraiment mieux tout redessinner.
> Fonction hallo.
Seul fonction qui emule des routines maskée sans en proposée.
Cette fonction est tres lente sans proposer de veritable mask.
>> elle etait 2 fois moins rapide que les routines de X maskée
Tu as mesure au moins avant de sortir ce chiffre ? Cette fonction es pas franchement lente. J'affiche sans pb une trentaine de spr 32x32 avec halo par frame avec deux plane affiche, plus des menus dans cf. Le tout sans ralentissement
> Fonction gl_drawlevelmachinchose
Fonction dite optimisée, emulant les modes de diverses console.
Elle l'ést
Cette fonction ne gere pas les annimations automatiquement, consequence
l'annimation du Background/level doit se faire en C/ASM tout en respectant
le format de gl_drawlevelmachinchose.
>> Perte de temps catastrophique pour les niveaux avec beaucoup d'annimations
T'a jamais programme sur console toi. C'est les tiles qu'on modifie, pas la matrice !
(Sauf si tu veux changer la palette).
> Toutes les fonctions sont clippées
C'est tres bien sachant que ca teste le clipping meme quand on en a pas besoin!
Ca reste negligeable la difference. deux cmp/deux bhi. Bof.
D'ailleur le cliping in fonction est plus lente que ce soit en prog C/ASM
(compter rien que le jsr/rts... plus ce que Kevin avait dit a ce sujet.
>> perte de temps pour les sprites qui reste on LCD ainsi que pour les sprites
en dehors de l'ecran (cf kevin), donc perte de temps totale
A condition de savoir ou il faut afficher. Et pout ca il faut rajouter un test.
Je signale juste que ca augmente la taille du programme de rajouter des tests avant l'appel de fonctions. Oui, j'avoue. J'ai aussi pense que ca serait plus simple
Les arguments ne manque pas, contrairement a ma patience.
Mais si, tu reviens toujours
[cite]
Il est evidant que Genlib est plus programmer pour emuler que pour programmer.
Ses algo ne sont pas optimisés pour tourner sur 68k.
[cite]
Parfait exemple : SMA, CF sont depasses techniquement par ...heu... mais....heu....
Bien quelle soit relativement rapide, il n'est pas difficile de faire plus rapide,
car contrairement a Genlib, X n'etait pas optimise au niveau instructions pour gagner
2 3 cycles par routine, mais optimisé niveau algo.
J'attends toujours de voir tes algos alors. Et si tu avais lu la doc, tu verrais que je dis dedans qu'il est parfaitement possible de faire plus rapide, mais que je me suis contente de cette implementation qui est la meilleure, selon moi, question compromis memoire/vitesse.
D'ailleur sans vouloir critiquer Genlib,
il est possible de faire plus rapide en C pour certaines fonctions de sprites. D'ailleurs
rien que pour vous le confirmer, demander a PpHd, pourquoi Genlib est si rapide pendant ses benchs.
1: il empeche le compilo d'optimiser les routines de Extgraphlib en utilisant des volatile. Ce qui est ridicule sachant que les fonctions C ont pour but d'etre optimiser par le compilo.
2: Ses bench sont irrealistes par rapport aux situations de jeu, il cache les defaut de sa lib. X etait plus rapide que Genlib on lcd... mais pphd arrive a le cacher dans ses bench.
Heu, au contraire, je donne un avantage a Xlib dans mes bench car je ne fais qu'un seul appel a XCopyGplane pour 10000 sprites. Il en faudrait bien plus pour que ca soit realiste. Ensuite si j'utilise volatile c'est que j'ai la flemme de faire un tableau de sprites a afficher. Tu connais beaucoup de jeu dont les sprites sont affiches de maniere sequentielles ?
Bon tout ceci pour dire que contrairement a mon dernier message dit "brutal" pour certain, que le devellopement de X est arreté, et je ne programmerai plus sur 68k .
Qui c'est qui avait raison ? A bientot. Conjecturation du nouveau pseudo:
Kover Keflin