Build Your Own Arcade Controls Forum

Main => Main Forum => Topic started by: keilmillerjr on July 08, 2019, 12:01:15 am

Title: dual vs quad core cpu
Post by: keilmillerjr on July 08, 2019, 12:01:15 am
I assembled a pc for MAME 3 years ago. I set it up in my neo geo, with a custom built jamma harness going from the jpac to controls and k7000 crt. Played it only a few times, with no more than probably 8 hours on it. Been programming awesome front end attract modules and layouts. It’s time to play now that most of my work is complete. Few months ago, it would no longer output video. I installed a cpu speaker. Jumped PSU and voltages tested fine. Removed ram and video card. Installed a motherboard speaker. No beep or beeps. One or both is dead.

Ordered on eBay a used AMD setup, since replacement of the intel components is out of my current budget. CPU Benchmark Comparison (https://cpu.userbenchmark.com/Compare/Intel-Core-i3-2100-vs-AMD-A8-7600-APU-2014-DKa/m41vsm14050) puts the two processors with an almost equal benchmark score. i3-2100 41.3% vs A8-7600 41.9%. The i3 scored +10% faster during the single core int test and +23% faster during the single core float test. The A8-7600 scored +39% faster during the quad core int test and 36% faster during the multi core integer speed test.

Intel:
Estimated Total Wattage (https://outervision.com/power-supply-calculator): 211W

AMD:
Estimated Total Wattage (https://outervision.com/power-supply-calculator): 216W

Does MAME benefit from SMP (symmetric multiprocessing) / HT (Hyper-Threading) / dual cores? (https://wiki.mamedev.org/index.php/FAQ:Performance)
Quote
Yes, MAME uses multi-threading to allow some tasks to be split up across multiple CPUs/cores. In addition to the main emulation thread, MAME may create additional threads for the following tasks, depending on the system being emulated and your configuration:

Up to three threads for triangle rendering when emulating accelerated 3D graphics hardware, including those 3dfx Voodoo
Up to three matrix solver threads for emulating analog sound synthesis, TTL logic, and other analog/digital circuitry
A texture upload thread when using bgfx video output (for uploading textures from MAME to your GPU)
A thread to handle MAME's output handlers and built-in HTTP server
Additional threads for OpenMP loop acceleration (requires special compile options, not enabled by default)
In pathological cases, MAME can make use of eight or more CPU cores. Additionally, it helps if you have at least one CPU core to handle the OS and background tasks so MAME doesn't have to relinquish the CPU. Note that parallelisation also increases memory bandwidth and cache requirements. MAME's working set is somewhat larger than a typical benchmark suite, or an AV compressor.

Many people say to choose the fastest single core speed for MAME. I am using an sd crt. I don’t think many of the mame dev’s points for multi-core apply to me. However, the last point has me thinking. it helps if you have at least one CPU core to handle the OS and background tasks so MAME doesn't have to relinquish the CPU. I would also have a front end (attractmode) actively waiting for signals. Perhaps multi core performance is now important? Will I see an improvement of the amd board because of this? Opinions?
Title: Re: dual vs quad core cpu
Post by: schmerzkaufen on July 08, 2019, 04:44:21 am
Just a note 'best single core performance' doesn't mean 'best run on a fast single core' either.
You can found more info on the topic, sometimes in unexpected places like reddit but heh;

http://www.reddit.com/r/MAME/comments/4gq9oo/whats_better_a_single_core_or_a_quad_core_for_mame/ (http://www.reddit.com/r/MAME/comments/4gq9oo/whats_better_a_single_core_or_a_quad_core_for_mame/)

http://www.reddit.com/r/MAME/comments/6hzuvw/if_you_could_build_a_dedicated_mame_pc_from/ (http://www.reddit.com/r/MAME/comments/6hzuvw/if_you_could_build_a_dedicated_mame_pc_from/)

http://www.mameworld.info/ubbthreads/showflat.php?Cat=&Number=368729&page=&view=&sb=5&o=&vc=1 (http://www.mameworld.info/ubbthreads/showflat.php?Cat=&Number=368729&page=&view=&sb=5&o=&vc=1)

http://forum.arcadecontrols.com/index.php/topic,160210.msg1686478.html#msg1686478 (http://forum.arcadecontrols.com/index.php/topic,160210.msg1686478.html#msg1686478)

You'll find more (not that much tho), just pay attention to the year, the older the less accurate, some multi-core related developments are quite recent also.

So, generation/age of the CPU matters as expected, and Mame still works better with Intels it seems (still the case today even with latest Ryzen? dunno)

Now whether multi core CPUs matter for playing only 2D games in any significant way, well, you see that depends.
The stuff with discrete audio can run best on multi-cores, or (surprisingly) might emulate correctly only on multis, and the example here is an 80's game.
What about less ancient stuff like Capcom games then? Qsound is discrete audio and has become rather heavy not-so-long ago, by what they say I assume it's threaded and so there shoud be benefit running on multis.
Taito F3 hardware has had something similar happen also I think (to be verified)

The problem is MAME didn't write down a reference list about multi-core situations and benefits, and most people still quote-share the 'need fastest single core' or even 'mame runs on a single core anyway' phrases, but the former as I said again just points at what's most important, not excluding multis, and the latter today is just very old information that's become plain wrong.

All-in-all someone with a reasonably fast and not-too-old Intel dual core like a i3 @3GHz might not notice any difference in practice vs. a similar though quad-core model.
Bet if you don't hit walls in performance while gaming, or you're not worrying peeping at your CPU usage and temperature all the time, in this case it doesn't matter.

My personal conviction acquired from what I've gathered is that a reasonable quad-core Intel is the best fitting price-performance compromise these days for most users, obviously MAME is a little bit more comfortable in a house with a couple additional rooms, I don't understand people who deny that since it's a fact, the real unknown factor is how often/much these rooms will be used, both people who'll tell you 'almost never' or 'most often' will probably be wrong.
That depends on the games the user will play, and most of the useful information we'd require for reference is missing. ¯\(°_o)/¯

For reals though and to finish, most people don't have any complaints running MAME on whatever hardware as long as it's not too old and too weak, whatever CPU it is.
The topic only really matters to people who want to emulate the heavy stuff.