Gamoover

[move]Vous aimez le couscous-boulettes, le chorizo, la Force 4, et la mimolette ? Alors soyez les bienvenus sur Gamoover ! [/move]

Bandes horizontales sur l'écran pendant le scrolling Pkoi ?

Démarré par max, Vendredi 16 Mai 2003, 22:20:35 PM

max

Oui, tout est dans le titre ...
J'aimerai avoir votre feedback la dessus, à savoir avez vous déjà eut ce pbm avec votre écran arcade et si oui l'avez vous résolu ...
j'ai en fait vu un post sur le forum omnicade où plusieurs personnes sont  dans ce cas, il doit bien y en avoir quelques un icic aussi ;) !
Sinon je vous rassure ça reste jouable mais bon ... il y a quand même 3 lignes au mileu de l'écran qui déforment l'image pendant les scrolls ....
Allez merci.

Boris

Je précise tout de suite que je n'ai pas LA réponse... Ce n'est que pure hypothèse... mais j'avais beaucoup lu la dessus sur le web, impossible de remettre la main sur les pages...
En fait, cela vient d'un problème de synchronisation par rapport au balayage écran.

Comment tout cela fonctionne :
- mame (ou tout autre ému ou programme), calcule l'image a affiché en mémoire, puis fait une bascule entre ce qui est affiché (que l'on voit, image N) et l'image qu'il vient de calculer (image N+1). C'est la technique du double buffer (ça marche aussi en triple des fois...).
- l'affichage se fait par un faisseau d'électrons qui "dessinent" l'image. Ca va de gauche à droite, et de haut en bas. En fin de ligne, le faisseau d'électrons et "éteint" le temps de revenir à gauche (le hsync). De même, en bas à droite de l'écran, le temps du retour en haut à gauche, il y a le vsync.
- le soucis vient du moment de la bascule : si ce n'est pas synchronisé par rapport aux électrons qui affichent tout ça sur l'écran, et bien ça se voit !
Et c'est d'autant plus flagrant sur les scrolling horizontaux, forcément.

Ce qui se passe, c'est que mame "va trop vite", il finit de calculer l'image N+1 en 1 tiers du temps d'affichage, et affiche tout de suite la N+1, puis calcul l'image N+2, qu'il calcule toujours en 1 tiers de temps, et l'affiche également tout de suite. Ce qui fait que sur un affichage, il y a l'image le premier tiers de l'image N, le second tiers de l'image N+1 et le dernier tiers de l'image N+2.

Bon, maintenant je pense que vous avez compris que c'est "un peu compliqué", et que du coup, il n'existe pas LA réponse parce que ça dépend de pleins de chose.... La carte vidéo, la sortie TV de cette carte (son chipset en fait), un éventuel adaptateur pc to tv, la fréquence de la carte vidéo, la fréquence de l'écran, ...

Il faut "jouer" avec les paramètres de mame...
- le premier a tester : waitvsync !
- faire des essais avec : triplebuffer, matchrefresh, syncrefresh

ps : le problème existe également si mame va trop lentement, style il lui faut 1 image et demi pour calculer l'image suivante... Là, il faut faire du frameskipping... (on lui demande d'oublier de calculer quelques images de temps en temps)

max

Top les explications boris mais g oublié de te préciser :
j'utilise advancemame+arcadeos et je ne peux pas lancer advcfg avec ma carte video ati radeon 9000 pro. Normalement je reçois bientot une vieille ati rage pro 4 mo, donc espéront que ça vient de ça : carte + config advcfg ...
Je vous tiens au courant sur l'évolution de ce phénomène  ;)
Allez bon vent.

max

Je pensais : Boris crois tu qu'un logiciel comme smoothmame pourrait résoudre ce problème ???