With XP you will be limited to MAME v0.180 or thereabouts, whatever variant you use.
Groovymame is the best for framerate matching and speed accuracy - should be no "screen tear" lines at all.
Hi :-) for info Arcade32 version 0.245 works without any problem on Windows XP-32. and it even works very well.
I just did a test with Windows 7 + Groovymame and I get exactly the same results in "timing".
Groovymame does a great job, the modeline values taken from the Mame source code are respected, but that doesn't mean your hardware will interpret things that way! you have to touch up the modelines if you want perfect timing. It depends on the material. Most older generation graphics cards use multiples of 8 horizontally (this is the VGA standard). The resolution / modeline information taken from the source code of Mame does not necessarily use multiples of 8 so it will result in artifacts, jerks on the screen and loss of sound sync, and therefore it is necessary having recourse to Triple Bufering, V-Sync and other filters of this kind which induce lag.
However I have never tried with newer gear.
home hardware differs from arcade hardware. Arcade gear tolerates larger values, so unless you have a real graphics card that accepts timing differences of more than 3 decimal places + no constraints in the numbers of the number of horizontal lines, yes, but personally I've never had the chance to test a graphics card of this type.
Information on this subject is rare on the web, I have the impression that most people are content only to have a beautiful image and beautiful scanlines but they do not seek to go further. Personally, what I like is the timing, I want something to respond to the joystick! I do not care if the image protrudes from the screen or not, or if the game runs slightly faster than the original, no, what I want is perfect fluidity, and for that you basically have to find the perfect modeline is the basis for obtaining as little lag as possible. then we see whether or not to use a filter.