In official MAME, when you enable multithreading + waitvsync and disable throttle, emulation goes full speed. This bug was reported by bitbytebit and MAME devs fixed it indeed, but only in the Linux (SDL) side. The issue persists in the Windows build, so we fix that in GroovyMAME.
If it doesn't go fullspeed in your system, it's likely that you're forcing some vsync option in your videocard's control panel.
I just tried it and I have to disagree. In official MAME regardless of "multithreading" emulation does not go full speed with "waitvsync" enabled, it goes to exactly 100% as throttle is disabled, and that's as expected. It can go to full (maximum) speed only if "waitvsync" is diasbled and throttle (F10) is off.
This is very similar to what GroovyMAME does, it's only that the same thing is here controlled with "syncrefresh" instead of "waitvsync", which does not seem to have any functionality on its own, but is part of "syncrefresh". I am still not clear on what is the purpose of that feature or why GroovyMAME changed the way syncrefresh/waitvsync works. I also don't see how "multithreading" has anything to with any of this since in my tests that setting did not make any difference at all.
DirectDraw is used as it was known to be faster than D3D actually, and also D3D caused an ugly blur in low resolutions as it filtered them, something that didn't happen with DirectDraw.
I don't see how DirectDraw can possibly be faster if video card already supports DirectX. I guess if it's old enough it could simply not be able to support Direct3D, but that would only mean the particular adapter is outdated and so the only option is to use DDraw, which is no good reason to have it as default setting and downgrade everyone else.
The "blur" is welcome by many who are not using arcade monitors, it's bilinear texture filtering and can simply be disabled with setting "filter" option to zero, right? In any case you seem to be talking about past, but Groovy build is made around latest MAME and aimed at fairly modern hardware, so I think you should definitively consider to get this setting back to Direct3D as default option.
However, my experience is this is exactly the opposite with newer cards, where D3D is actually faster and causes no visible artifacts, while ddraw filters the frame. So D3D is a better option, specially when scaling is involved (it's several times faster than DDraw).
On my system it doubles the speed of Bank Panic, so instead of DirectDraw's 500%, I get maximum of 1000% game speed with Direct3D. This is huge difference and can turn many games from slow and unplayable to perfectly playable.
All GroovyMAME features work exactly the same for DDraw and D3D, so you can decide which one to use.
Apparently not. On my two computers DircetDraw was not able to properly sync with refresh rate, even though every other aplication and emulator can sync just fine. Direct3D is also much faster, so even though it's cool this can be set according to everyone's personal desire I don't see why would anyone prefer inferior option, and so I don't see any good reason why use it as *default*.