Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. Thank you for your support. Tom Speirs

Patreon

Mame Slowdown with AMD64


SpyDIRmaN

Recommended Posts

I'm trying to get Mame working well on my AMD64 3400+

I'm running winxp pro (32bit)

1GB ram

and default mame settings, through gameex.

Mame is the newest 119u3 with the hiscore and nags removed, and optimized for Athalon64

I've noticed that certain games seem to run considerably slower than on my P4 machine. Namely Mortal Kombat 2 (though I haven't tested very many others)... The sound is choppy and the framerate terrible.

I'm not exactly sure where (or how) to go about trouble-shooting this.

I've been reading around the net a bit, and I get the impression that a few people have had slowdowns of one sort or another on AMD cpus, and that perhaps it's just a matter of settings (either in mame, or in the system bios .. ie. overheating, etc). Still others are saying that Mame started running slower on AMDs somewhere around version .112

I'm fairly new to emulation, and Mame in particular. Does anyone have some good suggestions about what common problems or settings I should address?

Link to comment
Share on other sites

I can't tell you if it's faster on Intel as I haven't run one in years. I know that there have been a lot of threads here that discuss disabling -triplebuffer when you experience choppy sound, so you might want to give that a try. If you have a multithreaded cpu, you might also try the -mt switch.

Link to comment
Share on other sites

What video card you got? Are you running it in Direct Draw mode or Direct3D?

It's a winfast PX7100 GS (Nvidia) 128MB

I had read somewhere that someone who was experiencing slowdown on their AMD64 found out in the end it was just a problem with the video drivers in conjunction with his plasma display. I've got the latest drivers from nvidia (I think, but i will check again).

I'm runing mame through game ex with the default settings

-triplebuffer -nowindow -joy -video d3d

I just tried removing -triplebuffering and that only slightly seemed to improve things. the sound problem and slowdown still was there. I aslo tried switching to DD but that didn't help at all..

As a side question. what is the switch to show FPS in mame?

Link to comment
Share on other sites

HeadKaze's Guide to Stuttering Sound in Mame

============================================

-- Before starting --

Before using the guide I would download the latest binary of Mame32 so it's easier to try some of the video options. Then move back to the command line version of Mame.

Also it's alot easier to create the mame.ini file and edit options directly in there. You will have to open a command prompt to your Mame folder to type this in. You can download Command Window Here so you can right click a folder and open the command prompt. Once you have the command prompt open to your Mame folder create the config file use the following syntax:

mame.exe -cc

Then I would setup a shortcut to your Mame exe to launch a game that is currently experiencing the stuttering problem.

Right click mame's exe then select "Create Shortcut". It should create a file similar to "Shortcut to mamep4.exe". Right click on this file and select Properties. After the Target: line put in a space then the name of the ROM.

Eg.

Target: C:\Emulators\Mame32\mamep4.exe 1942

You can also add/remove Mame options.

Eg.

Target: C:\Emulators\Mame32\mamep4.exe 1942 -d3d -waitvsync

Now you can double Click the shortcut to test Mame then try changing the options again. There is also the mame.ini file you can edit which you created earlier. NOTE: Command line options will override what is in mame.ini.

1. Delete any ini files in your Mame's ini folder just in case you testing a game that options overridden in the ini folder.

2. Check out your monitor refresh rate.

Display Properties->Settings tab->Advanced->Monitor tab->Screen refresh rate:

Set it to it's highest (75 Hertz preferable / 60 Hertz is usually the lowest setting)

3. Make sure you have the latest drivers for your motherboard (from manufacturers website) including audio drivers for your soundcard/onboard audio.

4. Make sure you have the latest video card driver (either from NVidia or ATI)

5. These are the Mame options I would play around with:

-[no]ddraw / -[no]dd

-[no]direct3d / -[no]d3d

-[no]hwstretch / -[no]hws

-[no]autoframeskip

-[no]waitvsync

-[no]triplebuffer

-[no]matchrefresh

-[no]syncrefresh

-[no]throttle

More info can be found on Mame's Command Line Options page.

6. Also check this out

0.118u2

Added new experimental control for overall emulation speed. This lets you specify how fast/slow the gameplay should happen relative to the original. -speed 1.0 means run at normal speed. -speed 2.0 means run at 2x speed. -speed 0.5 means run at half speed. Note that the sound pitch is shifted as a result. If you are running early Namco games that normally run at 60.60Hz, you can run them at -speed 0.99 and it should run at under 60Hz, which should prevent sound stuttering if your monitor is not capable of greater than 60Hz refresh rates. If this turns out to be useful, future versions may support a -speed refresh parameter that automatically tweaks the speed to keep you under your monitor's refresh rate. [Aaron Giles]

7. Try the audio latency option

-audio_latency

This controls the amount of latency built into the audio streaming. By default MAME tries to keep the DirectSound audio buffer between 1/5 and 2/5 full. On some systems, this is pushing it too close to the edge, and you get poor sound sometimes. The latency parameter controls the lower threshold. The default is 1 (meaning lower=1/5 and upper=2/5). Set it to 2 (-audio_latency 2) to keep the sound buffer between 2/5 and 3/5 full. If you crank it up to 4, you can definitely notice the lag.

8. Now it's time to consider software running in the background or issues with Spyware. Try running Spybot Search & Destroy, run a virus scan. Run a DiskCheck and Defrag.

9. Check what processes are running using either Process Explorer, or Task Manager (Ctrl-Shift-Esc). You can highlight processes and kill them though be careful here (if you don't know what your doing skip this bit). You can turn off programs that start at boot up by selecting Start->Run->MsConfig->Startup Tab.

10. Consider hardware issues. Try unplugging your Soundcard if you have one and see if it makes a difference. Or buy a new Soundcard (cheap these days). Maybe consider a new Video card too.

Link to comment
Share on other sites

HeadKaze's Guide to Stuttering Sound in Mame

============================================

I will definately look into this stuff and see what I can do. I've got similar settings on my p4 machine (same mame.ini) and it works fine, so my first guess was a hardware, or driver issue (god I hate them). I also just read about AMD64s auto throttling the CPU when it gets too hot. Right now I'm trying to find a good tool to monitor this, and tell me if it's happening when I run mame.

I got this pc pre-configured by someone else off ebay. it's in a really spiffy, but tight HTPC case, and the CPU fan goes all the way up to the top of the lid (it's laid flat like a stereo) with no ventalation. I'm considering drilling small hole in the top of the case where the heatsink is to let some air flow out, but anyway, it's THIS that leads me to think HEAT may be a factor in my slowdown as well... I dunno... I guess i'll just have to roll up my sleves and check everything... *sigh*

Link to comment
Share on other sites

Id reccomend cutting a hole in the top of the case and putting one of these there.

http://www.sidewindercomputers.com/12filfanguar.html

Sorry I cant help you more on the slowdowns, but since you brought it up I am quite interested. I use a AMD64 in my HTPC as well. I just figured the games it had trouble with needed a better processor. Had no idea intel was faster at emulation.

To see the FPS in the game press F11

Try putting the -afs switch in the command line. I know its not the ideal solution, but alot of games run at 90ish% of the max speed so you wont even notice its automatically skipping frames and you wont have the sound problem anymore.

Link to comment
Share on other sites

Id reccomend cutting a hole in the top of the case and putting one of these there.

http://www.sidewindercomputers.com/12filfanguar.html

Sorry I cant help you more on the slowdowns, but since you brought it up I am quite interested. I use a AMD64 in my HTPC as well. I just figured the games it had trouble with needed a better processor. Had no idea intel was faster at emulation.

To see the FPS in the game press F11

Try putting the -afs switch in the command line. I know its not the ideal solution, but alot of games run at 90ish% of the max speed so you wont even notice its automatically skipping frames and you wont have the sound problem anymore.

Well all I can say is: Holy crap! I downloaded a very small program called "Core Temp" which more acurately logs CPU temps for AMD64s (k8 and above) and CoreDuos, and saw that my CPU temp was hovering around the 60-62c mark...

Then I took off the PC case cover (as I said it doesn't leave any space to properly vent the Heatsink) and watched. In less than a minute the heat droped down to 40 degrees! Fired up mame, with all the settings the same, and MK2 runs smooth as silk now... Even gave Killer Instinct a whirl and that too runs near perfect... Was afraid I was going to have to use that ugly old u_64 app to run KI goodness, but now I am a very happy camper indeed :)

I will be cutting a big fat hole in the top for sure now ;)

Apparently the CPU was throttling down the speed because it was running so hot... Cooling it down has made a HUGE difference. I compiled another copy of mame (using HKs sweet Mame Compiler) and it took 20 minutes this time instead of 45...

Anyway,

Thanks for the help fellas...

-Brian L. (SpyDIRmaN)

Link to comment
Share on other sites

A hole in the case is one option, but it might not be the best results. You might be able to do just as well/better with a better CPU HS/fan. There are some pretty big expensive ones out there, but there are also affordable options that can significantly drop the temp.

Link to comment
Share on other sites

Yeah, a cheap case will definitely create heat problems irregardless of what cooling you install on your cpu and chipset. I have a cheap a$$ one on my first cabinet that is a bit of a problem. My second project was installed directly on an MDF shelf so it didn't have any trapped air around it. I haven't had to add any extra fans around it yet, but that's being monitored for potential future improvements.

Link to comment
Share on other sites

Yeah, a cheap case will definitely create heat problems irregardless of what cooling you install on your cpu and chipset. I have a cheap a$$ one on my first cabinet that is a bit of a problem. My second project was installed directly on an MDF shelf so it didn't have any trapped air around it. I haven't had to add any extra fans around it yet, but that's being monitored for potential future improvements.

Like I said, I bought this online from someone who was obviously building it themselves. It's got a decent, non stock, heatsink (cooler master I think, but can't tell while it's spinning lol), and the case itself isn't low-end (a rather nice looking HTPC case). The problem just seems to be the choice of motherboard (position of cpu in the case) and size of heatsink to go with the case (as it goes all the way to the top of the case and has almost zero ventilation, hence the reason to put a hole in there)... Actually I've got something a little cleaner planned out than just cutting a large, ugly, hole in it. I'm going to drill small, symetrical holes using the removable wall from my desktop pc as a blank... Now the only thing will be worrying about someone spilling a drink on the case.. haha

Link to comment
Share on other sites

HeadKaze's Guide to Stuttering Sound in Mame

============================================

6. Also check this out

0.118u2

Added new experimental control for overall emulation speed. This lets you specify how fast/slow the gameplay should happen relative to the original. -speed 1.0 means run at normal speed. -speed 2.0 means run at 2x speed. -speed 0.5 means run at half speed. Note that the sound pitch is shifted as a result. If you are running early Namco games that normally run at 60.60Hz, you can run them at -speed 0.99 and it should run at under 60Hz, which should prevent sound stuttering if your monitor is not capable of greater than 60Hz refresh rates. If this turns out to be useful, future versions may support a -speed refresh parameter that automatically tweaks the speed to keep you under your monitor's refresh rate. [Aaron Giles]

Headkaze, can you answer a couple of question on this for me? I like to run my monitor at 60Hz and I haven't noticed anysound stuttering while playing namco games. I use mame .117. Does the sound stuttering only happen when using triplebuffer or does it happen irregardless of the triplebuffer setting. Is it highly noticeable when it does happen, is it constant or just occasional?

Link to comment
Share on other sites

Like I said, I bought this online from someone who was obviously building it themselves. It's got a decent, non stock, heatsink (cooler master I think, but can't tell while it's spinning lol), and the case itself isn't low-end (a rather nice looking HTPC case). The problem just seems to be the choice of motherboard (position of cpu in the case) and size of heatsink to go with the case (as it goes all the way to the top of the case and has almost zero ventilation, hence the reason to put a hole in there)... Actually I've got something a little cleaner planned out than just cutting a large, ugly, hole in it. I'm going to drill small, symetrical holes using the removable wall from my desktop pc as a blank... Now the only thing will be worrying about someone spilling a drink on the case.. haha

Another thing you might want to inspect is what kind of thermal paste was used to mount the fan onto the CPU - many of them come with this thick bubblegum like crap on them that really does no good at all for cooling -- if thats the case, scrape that crap off, get yourself some silver thermal compound and use that instead. -- just a thin ribbon is all you need -- A better connection between CPU and fan = better conductivity = happiness :)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...