Vous n'êtes pas identifié.
J'aimerais savoir les adresses des différents buffers video utilisées dans ces modes:
Mode CB
Mode DB
Mode C3
Mode D3
Merci
Hors ligne
Presk! Tu m'as donné pl1 d'idées d'optimisation, et g réussi à rendre le clignotement de l'écran presque invisible sur BomberMan en me faisant une nouvelle routine pour effacer l'écran. En fait je copie le buffer 0x1AE0 dans les buffers 0x1A20 et 0x1AA0 pour effacer l'écran, sauf qu'en mode CB ça buggue pas mal au centre de l'écran... c'est pourquoi je demande ça.
Hors ligne
Il faut que tu utilise le page flipping pour enlever le clignotement: tu dessine dans une page pendant que tu affiche l'autre une fois le dessin terminé tu affiche la page qui contient ton dessain et tu dessine sur l'ancienne. Il faut utiliser les ports pour faire ça.
Pour ta question, les modes 3 couleurs utilises 3 fois plus de mémoire donc il faut rajouter 3 *0x40 à l'adresse vidéo de base.
Hors ligne
duobab utilise le page flipping dans pacman et tu vois ce que ca donne...
PAS DE CLIGNOTTEMENT
Hors ligne
Dsl mais ça s'apple le Double Buffering, que j'utilise sur spaceinv et ems routines de casio2.h sont faites exprés !!
Hors ligne
Ok, mais cette page fliping, c quelle adresse? 0x19E0?
Si c'est le cas et bien je ne pourrai pas faire de grayscales avec ça!
Bon je vais aller jeter un coup d'oeil dans les sources de PacMan
Hors ligne
bon je programme avec directx et je suis meme pas en mesure de dire comment ca s'appelle... je sais seulement que quand je veux afficher qqch avec direct draw je fais: lpDD_primarybuffer->flip(); parce que ca change juste le pointeur de la memoire video... alors je suis pas du tout comment ca s'appelle :?: :?: [/code]
Hors ligne
non le double buffering c'est le fait de dessiner dans un buffer et une fois terminer de copier ce buffer sur l écran.
Hors ligne
et le triple buffering quand tu utilise un buffer en plus pour plus de fluidite mais ca sert a rien sur g100
Hors ligne
C keler que le triple buffering n'est pas très pratique sur g100.
Sinon ben DuoBab utilise le buffer 0x1A60 pour faire du double-buffering, mais il est en monochrome.
Je vais faire pareil mais avec un autre buffer, et pour effacer l'écran je ferai une frame vide que j'aurai au préalable déssinnée dur un buffer, et je la copie dans les buffers courants, voilà, dites moi ce que vous en pensez
Hors ligne
Le triple buffering sert uniquement lorsque l'on veut (et qu'on peut) attendre que le balayage de l'écran retourne en haut à gauche (enfin au début) pour éviter le flikering (interférence entre le balayage et le dessin).
Comme ça au lieu de rester coincé en attendant le programme peut continuer.
Hors ligne
c pour ca que ca sert a rien sur g100
Hors ligne
:evil: bon ba c le double buffering que j' utilise ,alors .
Sinon casiomax, peut tu me passer le lien pour dl MI dernieere version ?
Parse que celle que g trouvé ne sont pas a jour ac le fichier basic enorme ...
Hors ligne
Moi je me sert de + de 2 buffer tout simplement lorske je veux garder des images en mémoire temporairement et les afficher + rapidement....
Hors ligne
C ce que je fais aussi ds MarioKArt mais bon pour le 2nd buffer, jutilise un tab en RAM . C un peu con il va falloir que je change ca en écrivant apres la mém vidéo
Hors ligne
Sans vouloir dire n'importe koi je croi k'entre C3 et D3 ou entre CB et DB il n'y a pa de différence (ca tien le meme place) par contre je voudrai savoir si il y a vraiment des segments video avant 0x1a20 (contrairement à ce ke dit Whyp ds son Tuto) en gros combien avan combien apre combien en tout ca m'aiderai pr faire du tripple voire quadruple buffering en DB..... Merci
Hors ligne
Marche pa qd je m'en sert ca plante :cry:
Hors ligne
vi ba qd j'écris ne serait-ce qu'en 19E0 ba ca fé n'importe koi ca augmente le cont ca boucle le prog plin 2 truks bien koi !!!
Hors ligne