• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Emulator Discussion and Support › Support v
« Previous 1 ... 603 604 605 606 607 ... 1180 Next »

x86 vs x64
View New Posts | View Today's Posts

Pages (5): 1 2 3 4 5 Next »
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
x86 vs x64
09-10-2013, 02:00 PM
#1
omega_rugal Offline
A thorn on your side
***
Posts: 137
Threads: 6
Joined: Mar 2013
This has been bothering me for a while, maybe a developer can explain to me in detail:

whats the diference between the x86 and the x64 builds? x64 is faster but why? is there some specific optimization for x64?

i don`t think that the amount of adressable memory provides the performance boost

or does it?
Find
Reply
09-10-2013, 02:33 PM
#2
Qaazavaca Qaanic
Unregistered
 
More efficient JIT. Emulates the Wii CPU faster. Why? I don't know, the Wii CPU is 32-bit.
Reply
09-10-2013, 04:29 PM (This post was last modified: 09-10-2013, 07:47 PM by Verix.)
#3
Verix Offline
Member
***
Posts: 67
Threads: 2
Joined: Jul 2013
Because x64 code is more efficient?
Because the x86 code has been worked on less than x64, hence it will be phased out?
Find
Reply
09-10-2013, 04:37 PM
#4
lamedude Offline
Senior Member
****
Posts: 360
Threads: 7
Joined: Jan 2011
You get 16 GPR and 16 XMM registers in 64bit as opposed to 8 in 32bit. That probably makes emulating a 32GPR CPU easier.
Website Find
Reply
09-10-2013, 11:05 PM
#5
xemnas Offline
Senior Member
****
Posts: 322
Threads: 7
Joined: Jul 2013
JIT64 is better but I don't know why. According to my knowledge, Dolphin is the only emulator whose 64-bit build is significantly faster than 32-bit build. Please correct me if I'm wrong.
Find
Reply
09-11-2013, 12:04 AM
#6
pauldacheez Offline
hot take: fascism is bad
*******
Posts: 1,527
Threads: 1
Joined: Apr 2012
lamedude and Verix have it right – JIT64 has received a lot more attention than JIT32, and x86-64 is inherently better at emulating the Gekko/Broadway, plus it's what the whole computing industry has already migrated over to.

I'm honestly surprised that other emulators haven't embraced x86-64 as fast as Dolphin has. PCSX2 explains that they're 32-bit-only because it'd be too much work to rewrite their dynarec for 64-bit (and yet they're already using OpenGL 4 features?), while clearly N64 emudevs seem to love rewriting things from scratch unless it's to support new computing hardware...
<@skid_au> fishing resort is still broken: http://i.imgur.com/dvPiQKg.png
<@neobrain> dafuq
<+JMC47> no dude, you're just holding the postcard upside down
----------------------------------------
<@Lioncash> pauldachz in charge of shitposting :^)
Website Find
Reply
09-11-2013, 12:57 AM
#7
xemnas Offline
Senior Member
****
Posts: 322
Threads: 7
Joined: Jul 2013
(09-11-2013, 12:04 AM)pauldacheez Wrote: x86-64 is inherently better at emulating the Gekko/Broadway
Could you please explain why?

(09-11-2013, 12:04 AM)pauldacheez Wrote: while clearly N64 emudevs seem to love rewriting things from scratch unless it's to support new computing hardware...
How does that have anything to do with 32-bit/64-bit?

(09-11-2013, 12:04 AM)pauldacheez Wrote: PCSX2 explains that they're 32-bit-only because it'd be too much work to rewrite their dynarec for 64-bit (and yet they're already using OpenGL 4 features?)

No. That might only be one of the reasons. The more important reason they explained was that even if they made the 64-bit work it probably wouldn't be faster than 32-bit. The performance would be pretty much the same.

Regarding the registers someone mentioned, PCSX2 team also explained that the number of usable registers weren't that much different. 32-bit can use MMX registers or something if I remember correctly.
Find
Reply
09-11-2013, 03:53 AM
#8
NaturalViolence Offline
It's not that I hate people, I just hate stupid people
*******
Posts: 9,012
Threads: 24
Joined: Oct 2009
xemnas Wrote:Could you please explain why?

Lamedude already did. There are a number of notable improvements made in x86-64 over x86-32 that improve performance but the main one is the larger ISA register set. More GPRs, more XMM, and instruction pointer relative data access all probably improve performance in dolphin. You end up with better code optimization and more efficient compilation.

xemnas Wrote:PCSX2 team also explained that the number of usable registers weren't that much different.

Please find me a quote for that. Because I have trouble believing anyone with knowledge of x86 GPRs would say such a thing. Being able to store twice as many variables in the cpu at once is a big deal for an emulator.

xemnas Wrote:32-bit can use MMX registers or something if I remember correctly.

MMX is grossly obsolete to SSE anyways so why does this even matter?
"Normally if given a choice between doing something and nothing, I’d choose to do nothing. But I would do something if it helps someone else do nothing. I’d work all night if it meant nothing got done."  
-Ron Swanson

"I shall be a good politician, even if it kills me. Or if it kills anyone else for that matter. "
-Mark Antony
Website Find
Reply
09-11-2013, 03:57 AM
#9
delroth Offline
Making the world a better place through reverse engineered DSP firmwares
**********
Developers (Some Administrators and Super Moderators)
Posts: 1,354
Threads: 63
Joined: Aug 2011
Also we don't support fastmem on x86, only on x86_64 (address space too small). That's something like 10-15% performance difference.
Pierre "delroth" Bourdon - @delroth_ - Blog

<@neobrain> that looks sophisticated enough to not be a totally dumb thing to do
Website Find
Reply
09-11-2013, 04:51 AM
#10
xemnas Offline
Senior Member
****
Posts: 322
Threads: 7
Joined: Jul 2013
(09-11-2013, 03:53 AM)NaturalViolence Wrote: Lamedude already did. There are a number of notable improvements made in x86-64 over x86-32 that improve performance but the main one is the larger ISA register set. More GPRs, more XMM, and instruction pointer relative data access all probably improve performance in dolphin. You end up with better code optimization and more efficient compilation.
Thanks for the information. But I'm not quite convinced why larger ISA register set, more GPRs, more XMM, etc. make the 64-bit build faster because I don't see why they make things faster. Larger doesn't always mean faster like if we increase the amount of RAM, it doesn't make the emulation faster. You may be right but I don't see the clear connection here. I don't understand how they impact the performance.

Just an another opinion, PCSX2 team doesn't agree that just go 64-bit will certainly/significantly increase the performance:
Quote:There are many reasons for this change. Just naming a few...
- Big increase in complexity of maintaining both versions
- No increase in performances as the emulator is structured now
- Dubious increase in performance in general even if we were to restructure it...
http://forums.pcsx2.net/Thread-We-are-dropping-x64-PCSX2-Playground-builds?pid=12935#pid12935

(09-11-2013, 03:53 AM)NaturalViolence Wrote: Please find me a quote for that. Because I have trouble believing anyone with knowledge of x86 GPRs would say such a thing. Being able to store twice as many variables in the cpu at once is a big deal for an emulator.

Quote:
Quote:But i cant believe there is no performance advantages in X64 LMA mode , there is almost x4 the register space than in compatibility mode or 32Bits.

For traditional coding, yes, there's performance advantages to x64. But from a recompiler aspect -- where the optimization assumptions and code reordering options available to us are significantly limited -- there's not so much advantage. Additionally the x64 does not have that many more registers over the x86. x86 has the 8 MMX registers (which are all 64 bit), and x64 modes do not. So whenever you do register counting between the two CPUs, you need to factor those in as well.
http://forums.pcsx2.net/Thread-We-are-dropping-x64-PCSX2-Playground-builds?pid=13171#pid13171
I believe he is very knowledgeable.

(09-11-2013, 03:53 AM)NaturalViolence Wrote: MMX is grossly obsolete to SSE anyways so why does this even matter?

Please read the above quote.
Find
Reply
« Next Oldest | Next Newest »
Pages (5): 1 2 3 4 5 Next »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode