website logo
Auteur
avatar
artblink

Forum » » Création-Développement » » Vitesse d'affichage


Posté : 27-10-2015 11:02 icone du post

Salut,

Il y a un résultat en programmation que je ne comprend pas.

J'ai repris le code depuis peu et j'ai refait des routines Gfx (scroll/zoom/rotation/etc..) et voici le fonctionnement "normal" d'un code pour afficher des modifications d'écrans:

Partons sur un scroll horizontale classique pas dur a faire

A la base, pour faire un scroll on utilise un écran plus grand que l'écran d'affichage afin d'éviter lors de la mise à jour de l'écran que les parties ajouter pour le scroll se voient (affichage du scroll avec des morceaux de tiles)

Les tiles sont des carrés ou rectangle par exemple de 64x64 pixels qui contient un bout d'image d'une banque d'images qui feront office de fond d'écran

Si on part sur un écran de 640*480, il faudra ouvrir ajouter des tiles avant 0 et après 640, on part du principe que l'on peut faire aller le scroll de droite à gauche et inversement.

Si j'affiche directement les tiles avec un double buffer en hard par exemple, c'est rapide, donc j'affiche le résultat du traitement directement, MAIS, si par contre, je créé une image de -64 à 640+64 vierge, que je mets le résultats des déplacements des tiles dans cette image et qu'ensuite j'affiche cette image avec un double buffer en hard, j'ai un gain de vitesse d'environ 30%!!!!!

Quelqu'un peu m'expliquer comment cela ce fait? c'est juste pour comprendre.

Normalement, afficher directement le résultat devrait être plus rapide que d'utiliser une bidouille surtout qu'a la base, le double buffer permet de switcher entre l'écran créé et l'écran afficher, j'ajoute un "écran" intermédiaire en plus, donc je switch 2 écrans mais entre 2 je créé une image qui sera afficher.... Bizarre

Merci les gens

Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=2183&forum=14