Being confident the issue was solved, i decided to setup my system as i would like to be definitively (ie Multiseat):
- seat0: Radeon on PCIEx16 port for desktop
- seat-1: Nvidia on PCIEx1 port for attract-mode/groovymame
Unfortunatelly the code modification suggested by @Calamity does not resolve the speed/sound issue on this setup.
I decided to take another look at the code modification about the sound fix suggested by @intealls.
The first tests were really confusing and i must admit i have hard time to understand what's going on.
After took a look at the code fix by @Calamity i realised it simply fixed the automatic set of "syncrefresh" and "waitvsync" options (maybe i'm wrong) which were not sat by default.
I confirm opengl is not chosen by default but software instead too.
The two renderers (soft and opengl) + the sound issue + waitvsync/syncrefresh options have impacts on the results. This leads to some combinatorial complexity that starts to be difficult to manage by only trying on the fly so i decided to conduct exhaustive tests and report results on the table below. Because @Calamity fix simply set options, it has been not taken in account, options are explicitly set from the command line.
Same tests have been made using 3 differents mame drivers: neomrdo, snes contra3 and alexkidd.
*of course, resolution is wrong due to the use of original Mame.
Some observations:
- For now there is only two working combinations. Boths using groovymame 0181. Its better than nothing and seems to prove the system/setup is not the culprit and is capable.
- Using Groovymame, OpenGL performs really badder than software and there is no combination that solve tearing. No performance issue using OpenGL is observed with original Mame.
- There is an important performance decrease between groovymame 0181 and 0183 which makes new versions of groovymame unusable on my system.
- The intealls sound fix seems to reduce the sound issue but does not fix it completely.
- With the combination "-nowaitvsync, -syncrefresh", original mame warns that syncrefresh can't be activated without waitvsync. Groovymame does not display this log message.
Please guys can you help me understand what's going on ?