Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: i686 version of MAME or not?  (Read 12998 times)

0 Members and 1 Guest are viewing this topic.

clhug

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 179
  • Last login:April 04, 2024, 10:49:58 pm
i686 version of MAME or not?
« on: November 23, 2008, 08:43:26 pm »
The basic question is, how do I know whether the processor I'm using to run MAME on should use the i686 optimized version of MAME or not?

I apologize if this a question to which the answer is out there but I've been unable to find it.  I've searched these forums, the wiki, mameworld, mamedev, and a few just regular Google searches.

I found a few posts that ask about a specific processor ("I have X processor, should I use the i686 version?") but nothing that gives any general rules to figure out whether to use the i686 version for any processor.

The 686 itself is a very old processor (it was the Pentium Pro wasn't it?).  Have all Intel processors since then maintained whatever "features" the 686 had that any modern Intel processor since then should use the i686 optimized version of MAME?  Or was it literally only the old 686 processor itself that would see any benefit?  Or somewhere in between?

And what about AMD processors?  Did they ever implement enhancements from the Intel 686 in any of their processors?

Thank you.

u_rebelscum

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3633
  • Last login:April 21, 2010, 03:06:26 pm
  • You rebel scum
    • Mame:Analog+
Re: i686 version of MAME or not?
« Reply #1 on: November 24, 2008, 06:44:07 pm »
Pretty much all CPUs after the PPro will benefit from i686 optimized, including P2, P3, P4, Core, Core2, Athlon, AthlonXP, & Athlon64.  But depends on the combination of game played and CPU.  Plus you can compile more specifically to your CPU, including p4, core2, athlonXP, athlon64, and playstation3, among others.  Check Mr. Do's Mame compile page, at the Other Notes section for how.

Note that these are optimizations done by the compiler only.  It uses the same source code, but builds the binary differently.  (IOW, mameDev didn't make any code optimizations for the i686 binary it releases.)  You might get bigger speed boosts with a different compiler than MinGW (MS & intel compilers), too/instead.  Even though, recently, minGW has gotten a little better at non-intel chip optimizations.

For the most part, the same goes for mame's 64 bit versions: same source code, but compiled differently.

If you don't want to compile your own, you can look for optimized releases at other sites.  Emu france has a lot, for example.


FWIW, you'll see from an increase of 5%-10% to a decrease of 1%-5%, depending on game, your CPU, which optimization you use (what compiler used to compile), and mame number use have.  The biggest increase would be if you used the 64 bit compile (on a 64 bit OS), of 20%-60% speed increase.  Otherwise, it might not be worth the effort: even a best case 10% speed increase only will help on boarderline games running, for example 55 fps (increasing to 60.5 fps).
Robin
Knowledge is Power

clhug

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 179
  • Last login:April 04, 2024, 10:49:58 pm
Re: i686 version of MAME or not?
« Reply #2 on: November 25, 2008, 06:01:18 pm »
Thanks for the info!

I'm definitely not interested in compiling my own.  If I just want to stick with the official binaries directly from the mamedev site, it sounds like I should go ahead and use the i686 version with any current processor.  Is that correct?

I know you said it may vary on different games but overall I'll have bettr performance with the i686 optimized version?  This is going into a cabinet so I don't want to be changing back and forth.  I need to pick a version and stick with it, so whatever benefits for me in the majority of games.

Sounds like I'll go with the i686 optimized version.  If I misinterpreted, please let me know.

Thanks again!

u_rebelscum

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 3633
  • Last login:April 21, 2010, 03:06:26 pm
  • You rebel scum
    • Mame:Analog+
Re: i686 version of MAME or not?
« Reply #3 on: November 26, 2008, 03:13:20 pm »
You pretty much got it, but...

... overall I'll have bettr performance with the i686 optimized version?

Yes, but it will not be noticeable

Except for very few games, and even then, not much of a increase.  Still, only big reason not to get the i686 is that you should get the 64 bit version instead (if you have 64 bit OS).  If your CPU is too old to run the i686 version, it's probably too old to run most games anyway.
Robin
Knowledge is Power

clhug

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 179
  • Last login:April 04, 2024, 10:49:58 pm
Re: i686 version of MAME or not?
« Reply #4 on: November 26, 2008, 06:40:40 pm »
Awesome, great information!  Thanks much!!