Kevin Kofler :
N'oublie pas qu'on peut utiliser ces routines avec ou sans double-buffering, ce qui fait déjà 2 méthodes différentes d'obtenir les plans. Et puis on peut utiliser ExtGraph avec n'importe quelles routines de gris. Si PpHd veut les utiliser avec graphlib, par exemple, il peut.
Oui, c'est un très bon avantage d'extgraph.
Tant que j'y suis dans les suggestions, ça pourrait être une bonne idée de se restreindre aux hauteurs multiples de 2, ou plutôt 4
Quel intérêt? Si c'est pour dérouler, va chercher "Duff's Device" sur le web. C'est bizarre en C, mais tout à fait naturel en assembleur.
Oui, mais de restreindre la hauteur des sprites à un multiple de 2 permet de ne pas avoir à se soucier si on doit brancher au milieu de la boucle ou non, ce qui permet d'avoir des fonctions plus rapides et plus petites.
Et quant au fait que ça restreint la hauteur des sprites, je trouve que ce n'est pas trop méchant comme restriction, je suis quasiment sûr que la plupart des programmes actuels utilisent déjà des sprites dont la hauteur est paire.
Au niveau des performances, j'avais fait des tests, et en déroulant la boucle sans restriction sur la hauteur des sprites, la fonction était 6% plus rapide et prenait 20 octets de plus. Avec la restriction, la fonction devient 8% plus rapide, avec seulement 10 octets en plus. Ça vaut le coup à mon avis.
Couplé à une seconde boucle selon que le shift est >7, ça parmet d'accélérer de 15% au total.
Sasume
:
Pour ce qui est du format de sprite, on a effectivement l'intention d'écrire des fonctions qui gèrent des sprites dont les deux plans sont à la suite.
Sans intérêt (ou presque)! Votre target primaire (TIGCCLIB) ne le supporte pas et ne le supportera jamais. (J'ai rejeté toute suggestion à cette fin et je continuerai à le faire.) Donc si vous le faites, ça sera utile pour des targets secondaires seulement. Et en plus, vous encouragez à travers ça les programmes compatibles HW2 seulement (parce qu'il se trouve que l'implémentation actuelle de TIGCCLIB vérifie ces conditions si et seulement si on est sur HW2; mais elles ne sont garanties pour aucune version matérielle!).
Je parlais des deux plans des sprites à la suite.
Ça aurait deux avantages indéniables : moins de paramètres à passer à la fonction => plus rapide, plus court ; moins de registres à cloberrer => plus rapide (et peut-être plus court).
Pour ce qui est de restreindre la taille des sprites à un multiple de 2, j'en ai déjà parlé à XDanger, mais il n'est pas très chaud...
Je suis aussi contre, c'est stupide. Vous n'allez quand-même pas jeter á la poubelle toute la flexibilité qui a rendu votre librairie ce qu'elle est maintenant!
Il est évident que si on fait ça, on gardera quand même les anciennes fonctions. Ça nous permettra de garder notre belle flexibilité qui rend la librairie impossible à maintenir
Il faut trouver une limite entre respecter tous les désirs possibles des utilisateurs, et imposer ses propres contraintes pour accélérer la lib.