32Fermer34
PolluxLe 22/03/2006 à 01:44
Sasume :
ça aurait été sympathique cependant si tu avais vraiment trouvé une nouvelle méthode oui

Bah de toute façon c'est un problème à la fois extrêmement simple (on est bien loin d'un mode 7 par exemple) et qui a dû être étudié par bcp de monde, donc ça aurait été étonnant qu'en y réfléchissant 5 minutes j'ai trouvé une solution meilleure que toutes les autres triroll
De toute façon, si on veut vraiment gagner du temps sur le scrolling, ce n'est pas en cherchant à optimiser ce style de routine bas niveau (shift d'un écran virtuel vers un autre) qu'on va y arriver, mais plutôt en se plaçant à un plus haut niveau ^^ (notamment avec des précalculs pour éviter le scrolling, de façon bête et méchante à la compilation ou au lancement, ou de façon "just in time" si le nb de tiles différents à afficher simultanément est faible)
Dans le même ordre d'idée, ça ne sert à rien de gagner 20% de vitesse sur une routine de scrolling si on fait par ailleurs une copie inutile d'un écran entier... Du coup si par exemple l'écran de tiles à scroller est redessiné à chaque fois (pour gérer des animations par exemple), c'est extrêmement important que la routine de scrolling soit intégrée à la routine de dessin de tiles et que les tiles ne soient dessinés nulle part en mémoire. Si mes souvenirs sont bons Genlib ne fait pas ça, donc même si la routine de scrolling était optimale ça fait forcément perdre un temps fou... Surtout que les routines de tiles et les routines de scrolling se combinent bien entre elles, donc c'est pas très compliqué à réaliser smile
(et d'ailleurs même si on ne fait pas d'animations, c'est pas très désirable que ça saccade quand il faut redessiner l'écran virtuel : mieux vaut une routine d'affichage toujours moyennement rapide qu'une routine d'affichage souvent rapide mais parfois lente...)