The NEW Build Your Own Arcade Controls
Main => Software Forum => Topic started by: amiga500 on June 18, 2008, 06:48:46 pm
-
I've noticed that playing any game on MAME a thin 'line' appears moving from bottom to top.
I've simulated the effect on photoshop here:
(http://img88.imageshack.us/img88/610/lineep0.jpg)
It is not a line, it is more like a 'horizontal cut' to the image.
I thought it was a LCD monitor problem, but now I'm playing on a real arcade monitor and the problem persist.
Can it be fixed? or is something I have to live with? :cheers:
TIA
-
Your monitor is running at a different rate than the game. MK is a great example, it runs at a unusual 54.8 Hz (IIRC), while the default for mame is to run at windows' desktop speed (for LCD's normally 60 Hz).
You can reduce this problem enabling one or two of the following options: switchres, triplebuffer, refreshspeed, waitvsync, or syncrefresh. (I'd try it in the order I mentioned.) Note that these options can change the game speed, mess up the sound, skip screens, repeat screens, or other problems.
The funny thing is that you said you're using a arcade monitor, so you probably already have -switchres already enabled, yes? I wonder what your refresh rate is running at. To see what res mame is running MK at, could you run mame with -verbose enabled, and post the info you get on the commandline?
Note that if you are running the games at the native res, the thousands of games in mame ran at hundreds of different resolutions and refresh rates, and your monitor probably can be turned to a few of the them.
-
I'm using Soft15Khz to run MAME on the arcade monitor.
I don't understand much of the different hertz speed, I don't want to sync every games that has different rates.
I've installed only the 15khz mode 'cause when I installed the 15khz, 25khz and 31khz I got a double picture on the desktop.
I'll run MAME with the -verbose command and I'll post the info here.
Thank you.
-
So that makes sense - it is redrawing the screen way slower than what MK requires...
-
This is called screen tearing (http://en.wikipedia.org/wiki/Page_tearing) and is usualy solved by turning on VSync so frames are rendered during VBlank.
-
This is called screen tearing and is usualy solved by turning on VSync so frames are rendered during VBlank.
Just what I was thinking. Also turning on double or triple buffering with vsync is a good idea as well. (IE if the computer isnt fast enough to draw the entire frame during Vblank, it will result in a lower FPS but with no tearing). If the FPS goes down with double buffering + Vsync, using triple buffering + Vsync can help (as the computer can do frame draws for another frame instead of just waiting after the double buffer has been filled).
-
thanks for the help.
now... Where and how should I change those options? From my graphic driver? or it can be changed inside MAME?
I have command line MAME.
cheers :cheers:
-
thanks for the help.
now... Where and how should I change those options? From my graphic driver? or it can be changed inside MAME?
I have command line MAME.
cheers :cheers:
If you don't have a mame.ini file next to your mame.exe, then run "mame.exe -cc" from the command line to create one. Open the mame.ini file in notepad and you will see the options in there.
-
Thanks! Problem solved!
I set the waitforVsync to Yes and the Triple buffer to Yes too, now the screen tearing is gone!
thnks for your help!
-
Thanks! Problem solved!
I set the waitforVsync to Yes and the Triple buffer to Yes too, now the screen tearing is gone!
thnks for your help!
Did you try double buffering first? If it works for all of your games, it will be better as far as latency is concerned. You wont notice the latency very much, but to have the timing be technically more "authentic" double buffering is closer. (Also, if all of your games work well without any buffering, but with vsync enabled, you should try that.)
Regardless, good you got it working.
-
Did you try double buffering first? If it works for all of your games, it will be better as far as latency is concerned. You wont notice the latency very much, but to have the timing be technically more "authentic" double buffering is closer. (Also, if all of your games work well without any buffering, but with vsync enabled, you should try that.)
Regardless, good you got it working.
I don't find that option on the .ini file, I just got Triple Buffering.
I do notice something on certain games, It can be described as latency.
Here's what I've changed (red):
#
# WINDOWS VIDEO OPTIONS
#
video d3d
numscreens 1
window 0
maximize 1
keepaspect 1
prescale 1
effect none
waitvsync 1
syncrefresh 1
#
# FULL SCREEN OPTIONS
#
triplebuffer 1
switchres 0
full_screen_brightness 1.0
full_screen_contrast 1.0
full_screen_gamma 1.0
Thanks again!
-
Hmm, for the life of me I could have sworn there was a double buffer option, but I guess not. For the games that have noticable latency I would suggest trying just vsync to see if that works...