issue 12/2019




Notes:

Débuter avec MAME sur macOS - Partie 5 - Réglages graphiques
[par sky] publié en 12/2019

Tel qu’elle est fournie, et comme nous avons pu le voir dans les précédents articles de la série, l’application MAME permet de lancer des jeux sans vraiment se soucier de certains réglages. Pourtant l’application offre toute une palette de configuration, dont on va voir ici, une toute petite partie, dédiée aux réglages graphiques.

1/ Sélection du moteur de rendu vidéo

C’est notamment le cas pour les réglages vidéos, nous n’avons, pour l’instant, touché à rien, et pour l’affichage de MEWUI et des jeux fonctionne.

Si l’on cherche un peu, dans le fichier de configuration, évidemment, nous trouvons à la ligne 253, l’information suivante.

video                     auto

Par défaut, MAME choisit lui même le moteur graphique utilisé. La raison est toute simple, en choisissant elle-même du moteur, elle s’assure que dès son installation, l’application sera fonctionnelle sur toutes les plateformes. En effet, MAME est disponible sur de nombreuses plateformes, mais chacune d’entre elle dispose de moteurs graphiques différents.

Par exemple, pour nous, sur macOS, c’est OpenGL qui est utilisé par défaut, car le moteur est disponible sur toutes les versions de macOS, de Mac OS X (voir de Mac OS 9 si l’on souhaite remonter plus loin dans le temps). Sur Windows, c’est Direct3D qui est utilisé, un moteur propriétaire de Microsoft, qui n’est disponible que sur Windows ou les consoles de jeux de la société. Enfin, sur Linux, aucun moteur n’est garanti d’être installé, c’est donc le mode de rendu logiciel qui est utilisé.

Evidemment, il est possible d’utiliser le moteur de son choix, il suffit simplement de changer la configuration du logiciel.

Voici les choix disponibles :

  • auto : Mode par défaut, MAME choisit le mode de rendu le plus compatible pour la plateforme.
  • d3d : Le mode Direct3D utilise le plein potentiel des cartes graphiques actuelles, mais ce mode de rendu est réservé à la plateforme Windows.
  • gdi : Le mode GDI est un vieux mode de rendu pour Windows, disponible avant l’avènement de Direct3D.
  • opengl : Le mode OpenGL est la méthode de rendu par défaut sur macOS, elle utilise les librairies OpenGL, aussi disponibles sur Windows (en standard) et Linux (disponibles à l’installation).
  • soft : Le mode de rendu logiciel (software) est certainement le plus compatible, mais aussi le moins performant. Tous les éléments graphiques sont calculés par l’application, et donc le CPU, au lieu de déporter certains de ces calculs sur la carte graphique.
  • accel : Il s’agit du mode utilisant les APIs des libraries SDL, c’est ensuite la librairie SDL qui optimisera l’affichage selon les capacités de la machine.
  • none : Ce mode, un peu particulier, propose de n’avoir aucun affichage graphique. Il permet cependant de faire des benchs sur l’émulation des puces sans avoir d’altération à cause de l’affichage.
  • bgfx : Ce mode est le plus complexe que l’on puisse trouver pour MAME. Le mode de rendu bgfx propose d’ajouter des filtres permettant de retrouver un résultat graphique plus proche des bornes arcades originales en reproduisant, si besoin, l’affichage d’un tube cathodique. Le mode de rendu bgfx est, cependant, plus compliqué à configurer, et donc à utiliser. Le prochain article sera dédié à ce mode de rendu.

2/ Autres éléments de configuration vidéo

Sous le réglages du mode de rendu, il y a d’autres éléments de configuration. Moins importants, ils peuvent néanmoins avoir un intérêts pour certains amateurs ou pour certains jeux.

  • numscreens : Indique le nombre d’écrans à émuler. En effet, certains disposent de plusieurs écrans, et si votre configuration aussi, vous pourrez en profiter pleinement. L’utilisation de cette configuration est optimal dans la configuration spécifique à chaque jeu. La valeur par défaut est 1, pour n’avoir qu’un seul écran actif.
  • window : Indique si l’émulateur doit s’ouvrir en mode fenêtré. L’utilisation de cette configuration est optimal lors du lancement de l’émulateur ou d’un jeu directement en ligne de commande.

mame -window

La valeur par défaut est 0, pour laquelle MAME s’ouvre donc en mode plein écran.

  • maximize : A utiliser uniquement en mode fenêtré. La commande maximize permet d’obtenir une fenêtre occupant tout l’écran.

mame -window -maximize

Par défaut, la valeur de maximize est à 1. Dans le cas d’une utilisation en ligne de commande, pour avoir l’effet inverse, il faut utiliser

mame -window -nomaximize

  • waitvsync : Ce réglage MAME active la synchronisation verticale. Elle force l’émulateur à synchroniser le rafraichissement du jeu avec celui de l’écran. Cela permet d’afficher uniquement d’afficher des images entières, et d’éviter le phénomène qui arrive parfois sur certaines configuration ou certaines machines (en particulier les jeux dont l’écran est vertical, ou avec un fort scrolling). Cette option est à utiliser uniquement en cas de soucis d’affichage, car elle peut provoquer une petite perte d’images par seconde.
    Sur macOS, il est déconseillé de ne pas activer cette option, car les drivers graphiques de macOS, dont on connait la réputation, ne permettent pas une synchronisation sans grosse perte.
    Sur macOS, ou en mode plein écran en général, il est préférable d’utiliser le réglage suivant :

triplebuffer        1

  • syncrefresh : Cette option tente de corriger les mêmes problèmes d’affichage que waitvsync. Au lieu d’attendre à chaque image, il va tenter de synchroniser les images par seconde de MAME avec le rafraichissement de l’écran. En cas de trop gros décalage entre la vitesse originale de l’émulation et le rafraichissement effectif, cela peut pas provoquer un décalage du son. A éviter, sauf si l’on sait exactement ce que l’on fait.
  • monitorprovider : Ce réglage permet de choisir le mode gestion de la résolution de l’écran. La valeur par défaut est auto, et il n’y vraiment pas lieu de changer cette valeur.

3/ Configuration multi-écrans

La partie "OSD PER-WINDOW VIDEO OPTIONS" permet de configurer plus précisément les multiples écrans de l’émulateur, pour les machines qui en disposent.

Cette partie ne sera, donc, utile uniquement si vous souhaitez configurer MAME sur plusieurs écrans.

Il y a 4 valeurs à configurer, mais qui se répètent 5 fois, pour supporter jusqu’à 5 écrans ou fenêtres d’émulation.

  • screen : Permet d’indiquer quel fenêtre va sur quel écran. Les écrans doivent être écris tel que .DISPLAYn où n est un entier définissant l’index de l’écran.
  • aspect : Permet de définir l’aspect de l’écran. En conservant la valeur auto, MAME va utiliser l’aspect indiqué via la machine.
  • resolution : Permet de définir la résolution sur chaque écran. Ainsi vous pouvez adapter les tailles comme vous le souhaitez. L’information doit être marquée avec la largeur et la hauteur séparées d’un x. En option, vous pouvez ajouter le taux de rafraichissement, précédé d’un @.
  • view : Définit comment les écrans doivent être placés et gérés. Il est très difficile d’obtenir les valeurs disponibles pour cette configuration.

Par défaut, toutes les valeurs sont définies à "auto",

En utilisant la version direct, sans numéro, cela configurera l’ensemble des écrans/fenêtres créés.

4/ Configuration plein écran et accélération vidéo

La configuration en mode plein écran se résume à une seule même value.

  • switchres : il permet de forcer le changement de résolution en mode plein écran. Par défaut, elle est à 0. Si cette option est activé, il faudra indiquer la résolution à appliquer via le réglage resolution vu dans la section précédente.

Ensuite, il y a deux éléments de configuration en relation avec l’accélération vidéo.

  • filter : Active un filtre bi-linéaire afin d’améliorer le rendu graphique. Bien souvent, la résolution native des écrans cathodiques des bornes d’arcade est bien inférieure à la résolution de nos écrans modernes. Le filtre sert à lisser l’image afin que le résultat ne soit pas un gros amas de pixels. Par défaut, le filtre est activé, mais attention, sur macOS, le filtre n’est actif qu’avec le mode vidéo OpenGL. En mode "accel", et donc via la librairie SDL, c’est la librairie qui s’occupera de faire d’optimiser l’affichage.
  • prescale : Indique la taille à laquelle le rendu est pré-calculé. Par défaut, à la valeur 1, MAME calcule l’affichage à la taille d’origine du jeu. Il est possible d’augmenter la taille de pré-calcul avant le passage par les filtres et autres shaders.

5/ C’est bon, on a fait le tour ?

Et bien non, au prochain article, nous verrons les configurations spécifiques au moteur de rendu bgfx.


Les réactions à cet article :
Débuter avec MAME sur macOS - Partie 5 - Réglages graphiques
[par Noxx] le 8/12/2019

Super suite.
Perso, je met le filtre bilinéaire et je rajoute un p’tit png d’effet pour simuler le tramage des tubes cathodiques : je trouve que cela rappelle bien la texture des images d’époque sans que cela soit lourd pour la machine.
Image avec 1943
Si cela intéresse je peux vous mettre le p’tit png en question, mais je sais qu’on peut faire des trucs bien plus sophistiqués avec bgfx... Donc j’attend la suite avec impatience ;-)



Poster une réactions à cet article :
Forum sur abonnement

Pour participer à ce forum, vous devez vous enregistrer au préalable. Merci d’indiquer ci-dessous l’identifiant personnel qui vous a été fourni. Si vous n’êtes pas enregistré, vous devez vous inscrire.

Connexions’inscriremot de passe oublié ?