Hi all,

Since a few xmame users seem to really like Xv and concider sdlmame's lack of Xv support, here is an attempt to explain why Xv probably is not a good idea with sdlmame and to show some alternatives.

First and foremost I think it is important for everyone that the mean reason I'm pushing for a switch to sdlmame is because of changes in the interface between the mame core and the osd layer which happened from mame 106 to 107. mame 106 and previous gave the osd layer a prerendered bitmap to display, which we would then convert to the bitmap format of the X-server or to a yuv bitmap format when using Xv, since we needed todo a conversion in any case, Xv was about as fast as using non scaling X bitmaps.

However with mame 107 and later the mame core passes the ods layer a list of rendering primitives with commands like draw line, or draw square, where the square can have a solid color or a texture and can possible be transparent. So we no longer have just a bitmap to pass to Xv. This is also why there has been no xmame version past 106.

Now the sdlmame authors are using GPL do the the layering (compositing) of all these different squares and the drawing of lines in the videocard hardware. As an alternative the mame core contains a software implementation which does all the compositing and line drawing in software and renders a bitmap in rgb 565, rgb 555 rgb 888 or bgr 888 format. This software rendering is available in sdlmame as an alternative, but is pretty slow. Since SDL does support XV we could still add Xv support for those who really want by rendering to a 565 bitmap and then converting this to YUV using a 65k word lookup table, however this would be anything but fast, and would allow yet another tunable configuration parameter which I would rather avoid. One of the nice features of sdlmame is that it doesn't have the gazillion configuration options xmame had. So all in all Xv is possible, but I don't think its worth the trouble.

One of the main arguments I've heard for Xv is speed, but with a properly supported opengl card 107 and later will actually be faster then using Xv. I've also heard people complain about the blurriness of fullscreen opengl, for those please try passing -switchres and or -prescale 2 or even -prescale 3, with those the picture will be atleats as good as with Xv. Also always pass -video opengl if you've got a properly opengl supporting card.

Regards,

Hans



_______________________________________________
Xmame mailing list
[email protected]
http://toybox.twisted.org.uk/mailman/listinfo/xmame

Reply via email to