Hi all,
I've got visual artefact with xmame when running games with scrollings.
It seems to be a double buffering problem. The problem appears using xv but
also with dga and sdl (it's even worst with dga and sdl than with xv)
I tried mame32 under windows and I experienced the same problem. This kind of
problem is more easy to see in shadow dancer by example (the scene between
levels : the panel scrolling from right to left then back from left to right,
you can easily see that the frame has been displayed, but the first part is
the next frame and it has not yet been drawed completely so at the bottom of
the picture you can see the previous frame, this results as a splitting line
that makes a pixel delay in scrollings)
But when I activated the mame32 "triple buffering" option, the problem
disapeared !!
I don't find this option under xmame. Is there an equivalent or something ? Is
there a plan to include this option in xmame or is it impossible due to X
limitations ?
I've experienced the problem on 3 different computers:
1 amd athlon 1.4 Mhz with ArcadeVGA
1 amd athlon XP 2.2 with NVidia GeForce2
1 Intel 1.4 Ghz centrino with Intel i810
I'm under debian sid.
Kernel : 2.6.5-1-k7
Xfree86 : 4.3.0.1
Xmame : 0.74.1 (but I compiled the last version, and the problem was the same)
I'm running all games at 100% 60/60 fps
I've tryed all effects combination without success.
One of my computer is inside an arcade cab using an ArcadeVGA and on this one
the picture displayed is the original one without streching, without effect,
anything but the original resolution.
Note that I had to point the problem to many firends who even didn't saw it at
first time. On some games, it's hard to see this problem, but when you see it
one time, you can't see anything else ;-(
I can also see the problem when the screen flashes, or when something is
blinking, eg: the crystal ball that we can see in Altered beast.
I attached the output of xvinfo of one of my computer so you can see that I
have xv hw accel and so the double buffering should be working. I don't have
any problem of this kind with mplayer using xv.
Regards.
--
Fabien Meghazi
X-Video Extension version 2.2
screen #0
Adaptor #0: "NV10 Video Overlay"
number of ports: 1
port base: 77
operations supported: PutImage
supported visuals:
depth 16, visualID 0x21
depth 16, visualID 0x23
depth 16, visualID 0x24
depth 16, visualID 0x25
depth 16, visualID 0x22
depth 16, visualID 0x26
depth 16, visualID 0x27
depth 16, visualID 0x28
number of attributes: 9
"XV_DOUBLE_BUFFER" (range 0 to 1)
client settable attribute
client gettable attribute (current value is 1)
"XV_COLORKEY" (range 0 to 16777215)
client settable attribute
client gettable attribute (current value is 2110)
"XV_AUTOPAINT_COLORKEY" (range 0 to 1)
client settable attribute
client gettable attribute (current value is 1)
"XV_SET_DEFAULTS" (range 0 to 0)
client settable attribute
"XV_BRIGHTNESS" (range -512 to 511)
client settable attribute
client gettable attribute (current value is 0)
"XV_CONTRAST" (range 0 to 8191)
client settable attribute
client gettable attribute (current value is 4096)
"XV_SATURATION" (range 0 to 8191)
client settable attribute
client gettable attribute (current value is 4096)
"XV_HUE" (range 0 to 360)
client settable attribute
client gettable attribute (current value is 0)
"XV_ITURBT_709" (range 0 to 1)
client settable attribute
client gettable attribute (current value is 0)
maximum XvImage size: 2046 x 2046
Number of image formats: 4
id: 0x32595559 (YUY2)
guid: 59555932-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x32315659 (YV12)
guid: 59563132-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x59565955 (UYVY)
guid: 55595659-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x30323449 (I420)
guid: 49343230-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
Adaptor #1: "NV05 Video Blitter"
number of ports: 32
port base: 78
operations supported: PutImage
supported visuals:
depth 16, visualID 0x21
depth 16, visualID 0x23
depth 16, visualID 0x24
depth 16, visualID 0x25
depth 16, visualID 0x22
depth 16, visualID 0x26
depth 16, visualID 0x27
depth 16, visualID 0x28
no port attributes defined
maximum XvImage size: 2046 x 2046
Number of image formats: 5
id: 0x32595559 (YUY2)
guid: 59555932-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x32315659 (YV12)
guid: 59563132-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x59565955 (UYVY)
guid: 55595659-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x30323449 (I420)
guid: 49343230-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x3
guid: 03000000-0000-0010-8000-00aa00389b71
bits per pixel: 32
number of planes: 1
type: RGB (packed)
depth: 24
red, green, blue masks: 0xff0000, 0xff00, 0xff
Adaptor #2: "NVIDIA Video Interface Port"
number of ports: 1
port base: 110
operations supported: PutVideo
supported visuals:
depth 16, visualID 0x21
depth 16, visualID 0x23
depth 16, visualID 0x24
depth 16, visualID 0x25
depth 16, visualID 0x22
depth 16, visualID 0x26
depth 16, visualID 0x27
depth 16, visualID 0x28
number of attributes: 9
"XV_ENCODING" (range 0 to 1)
client settable attribute
client gettable attribute (current value is 0)
"XV_COLORKEY" (range 0 to 16777215)
client settable attribute
client gettable attribute (current value is 2110)
"XV_AUTOPAINT_COLORKEY" (range 0 to 1)
client settable attribute
client gettable attribute (current value is 1)
"XV_SET_DEFAULTS" (range 0 to 0)
client settable attribute
"XV_BRIGHTNESS" (range -512 to 511)
client settable attribute
client gettable attribute (current value is 0)
"XV_CONTRAST" (range 0 to 8191)
client settable attribute
client gettable attribute (current value is 4096)
"XV_SATURATION" (range 0 to 8191)
client settable attribute
client gettable attribute (current value is 4096)
"XV_HUE" (range 0 to 360)
client settable attribute
client gettable attribute (current value is 0)
"XV_ITURBT_709" (range 0 to 1)
client settable attribute
client gettable attribute (current value is 0)
number of encodings: 2
encoding ID #0: "ntsc"
size: 720 x 480
rate: 59.940060
encoding ID #1: "pal"
size: 720 x 576
rate: 50.000000