04-18-2014, 04:49 AM
04-18-2014, 08:23 AM
(04-18-2014, 04:17 AM)delroth Wrote: [ -> ]Well, this guy is stupid if he thinks we're willingly making one version faster than the other. There are good and simple reasons why the 64 bit version of Dolphin is faster: with a 64 bit address space we can reserve a 4GB area that maps to the GC memory (== requirement for proper fastmem == +10-15% performance), and we have way more registers at our disposal (on x86: eax ebx ecx edx esi edi esp ebp, on x64: rax rbx rcx rdx rsi rdi rsp rbp r8 r9 r10 r11 r12 r13 r14 r15), which is critical when you try to emulate an architecture that has 32 GPR.
More minor reasons: DSPLLE requires emulating 40 bit registers, which can fit in a 64 bit x64 register but requires two 32 bit registers on x86 (and remember: we already have 2x fewer registers), compilers generate slightly better code because they can use 64 bit memory operations without requiring special alignment, and probably other stuff I don't know / can't remember.
Thanks for the list, because whenever I mention this I get a load of ENB lovers asking me to give reasons, and always get lost after 40-bit DSP registers. It's nice to be able to back stuff up.
04-18-2014, 09:22 AM
(04-18-2014, 04:17 AM)delroth Wrote: [ -> ]Well, this guy is stupid if he thinks we're willingly making one version faster than the other. There are good and simple reasons why the 64 bit version of Dolphin is faster: with a 64 bit address space we can reserve a 4GB area that maps to the GC memory (== requirement for proper fastmem == +10-15% performance), and we have way more registers at our disposal (on x86: eax ebx ecx edx esi edi esp ebp, on x64: rax rbx rcx rdx rsi rdi rsp rbp r8 r9 r10 r11 r12 r13 r14 r15), which is critical when you try to emulate an architecture that has 32 GPR.
More minor reasons: DSPLLE requires emulating 40 bit registers, which can fit in a 64 bit x64 register but requires two 32 bit registers on x86 (and remember: we already have 2x fewer registers), compilers generate slightly better code because they can use 64 bit memory operations without requiring special alignment, and probably other stuff I don't know / can't remember.
I was originally planning on 2 X 2 GB for my media center. I thought, "who needs more?" Would you therefore recommend to people building new systems use 8GB in order to get +10 - 15% better performance?
04-18-2014, 09:40 AM
Most of those things only need that much address space, and not that much actual space. There are plenty of things which would benefit, but most of those won't be happening on a media centre, so you might be better saving the money or putting it elsewhere.
04-19-2014, 10:36 AM
2GB, 4GB, or 8GB will all give you the same performance with dolphin. Even on the 64 bit builds.
Not quite but you do drop most things simply to improve "code readability" or because "nobody is maintaining it". Historically trimming the fat has been the number 1 reason of every dev on the project for removing features and options. Including commonly used ones. So how would this be any different than any of those instances? Compared to many features that have been removed in the past this one is used less often by users, has much bulkier code, and is updated less frequently. The only differences I can see that might explain this are the size of the change being much larger and the fact that since it's so "out of the way" (works pretty well and doesn't need to be updated every time something else is changed) that it's less likely to cause problems for devs working on other stuff (so they're less likely to get annoyed enough by its presence to remove it). Am I missing something?
neobrain Wrote:Because we don't drop support for stuff just for the heck of it.
Not quite but you do drop most things simply to improve "code readability" or because "nobody is maintaining it". Historically trimming the fat has been the number 1 reason of every dev on the project for removing features and options. Including commonly used ones. So how would this be any different than any of those instances? Compared to many features that have been removed in the past this one is used less often by users, has much bulkier code, and is updated less frequently. The only differences I can see that might explain this are the size of the change being much larger and the fact that since it's so "out of the way" (works pretty well and doesn't need to be updated every time something else is changed) that it's less likely to cause problems for devs working on other stuff (so they're less likely to get annoyed enough by its presence to remove it). Am I missing something?
04-19-2014, 10:39 AM
I figure I should add that 32bit has been broken for the past 100 builds and a grand total of one user said anything about it.
04-19-2014, 11:49 AM
(04-19-2014, 10:39 AM)JMC47 Wrote: [ -> ]I figure I should add that 32bit has been broken for the past 100 builds and a grand total of one user said anything about it.
Already mentioned earlier in the thread.
04-19-2014, 11:51 AM
I'm going to say this right now.
SOMEONE REPORT THE GODDAMN ISSUE WHEN YOU SEE IT!
Thank you. 32bit users, I'm watching you.
SOMEONE REPORT THE GODDAMN ISSUE WHEN YOU SEE IT!
Thank you. 32bit users, I'm watching you.
04-19-2014, 05:12 PM
(04-19-2014, 11:49 AM)Shonumi Wrote: [ -> ](04-19-2014, 10:39 AM)JMC47 Wrote: [ -> ]I figure I should add that 32bit has been broken for the past 100 builds and a grand total of one user said anything about it.
Already mentioned earlier in the thread.
Where? I re-checked the thread and couldn't find it. If you're talking about the critical 32 bit bug I mentioned in my post, I was talking about another one from a month ago or so. Yeah, that's two 32 bit bugs that caused all games to crash at startup and were unreported for weeks.
04-19-2014, 05:58 PM
Different thread; but someone did notice it 4 days ago; which would be 3 days after the problem was introduced (the newest one.)
https://forums.dolphin-emu.org/Thread-dolphin-black-screen?pid=318871#pid318871
The previous bug went unreported forever.
https://forums.dolphin-emu.org/Thread-dolphin-black-screen?pid=318871#pid318871
The previous bug went unreported forever.