Dolphin放棄32bit的版本? - 模擬器

Ina avatar
By Ina
at 2014-05-22T22:44

Table of Contents

https://dolphin-emu.org/blog/2014/05/19/obituary-32bit/#cuthere

Ten years ago Dolphin was a very limited program designed to run in only one
environment. It was a 32-bit Windows application that required Direct3D 9
with no alternatives. A lot of things have changed since then as Dolphin has
expanded its goals. The emulator has become much more robust over time with
support added for 64-bit Windows, Linux, Mac OS X, FreeBSD, and even Android
phones and tablets!

Sometimes though, changes must be made. Some choices require months of
preparation, discussion, examination, while others are inevitable.
Maintaining features is a balance between cost and reward. The cost being
development time, maintenance, debugging, bandwidth, money and more, with the
reward being a better, cleaner experience for our users. The reward was
obvious for 4.0.



Well over one third of our Windows downloads for Dolphin 4.0 were the 32-bit
variant; a huge share of our userbase. Despite that, we still find ourselves
at a crossroads just a few months later.


Why consider dropping 32-bit builds?

The Dolphin Emulator team is constantly searching for ways to improve the
development pipeline. From the insane to the mundane, hundreds of ideas will
come and go every year as for how to make things better. But the past few
months have seen a reoccurring theme: 32-bit builds break, and many of the
developers question its worth.


Windows XP has been unsupported for months

Dolphin has already dropped Windows XP support. With a little under 10% of
our users still using the OS, Windows XP was a significant share of our
users, but at the same time the team made a decision not to let any
particular OS hold us back. The only reason for dropping XP support is
because the latest Microsoft Visual Studio Compiler doesn't support Windows
XP. The aging operating system's days were numbered simply by that, and once
the move was made to C++11, there was no going back. The unintended side
effect to that drop is that Dolphin no longer supported any operating systems
that were primarily 32-bit. Vista, Windows 7, and Windows 8 are all designed
for 64-bit.


Dedicated 32-bit processors are very outdated and cannot run Dolphin at
playable speeds

On the hardware side of things, x86_32 processors died a long time ago. It's
only thanks to Microsoft selling 32-bit versions of their operating system
that any sizable number of Dolphin users need 32-bit builds at all! Since
2003 when x86_64 processors debuted, the newer architecture has proven itself
far superior to the original specs it was based off of. Any computer that
needs 32-bit due to memory constraints or processor limitations simply won't
run Dolphin at usable speeds, so what use is there in supporting it? Any
computer that can run Dolphin is already using a 64-bit processor.


Dolphin's 32-bit builds are not indicative of the Dolphin experience

Most programs can have 32-bit builds and 64-bit builds without trouble or
more commonly host only 32-bit builds and let 64-bit users use it as well.
For those programs, the benefits of 64-bit don't matter much at all, and the
end users need not worry about any of it!

This is not true with Dolphin, where some games still do not run full speed
on any existing configuration. Dolphin sees very important and observable
benefits in its 64-bit builds! With a 64-bit address space, Dolphin can
reserve a 4GB area that maps to GCN/Wii memory boosts performance greatly
and, more importantly, 64-bit has twice as many registers. This brings the
emulator much closer to the number of registers to that of the PPC processor.
Plus, since 64-bit is large enough to fit the DSP's 40-bit registers, it can
run DSP JIT (Just In Time) recompiler for a nice speedup. 32-bit has to fall
back on the CPU-intensive interpreter functions for most DSP instructions. In
addition to all of that, compilers even generate better code thanks to the
ability to do 64-bit memory operations without needing special alignment.


In preparation for this announcement, we did thorough performance testing to
compare 32-bit builds and 64-bit builds with no idea how they would actually
turn out. While we knew that 32-bit was a little slower, the results were
shocking.



Maintenance

One of the more annoying aspects of 32-bit Windows support is that the
operating system lacks critical features for development. This means that
menial changes that work on other other platforms break it again and again.
For Dolphin's Just In Time Compiler (JIT), that means making special code for
32-bit builds all the time. This is not only is frustrating, but also stunts
development as it slows down developers and prevents them from undertaking
projects in the first place!

Worse yet, there is a severe lack of testing on the 32-bit builds. For 100
revisions, there were a total of zero issue reports despite the fact that
32-bit builds were totally nonfunctional! This makes it harder for developers
to figure out what broke the builds, and forces them to go back into old
projects that were already considered complete.

There is also the case of compiling the builds themselves. Windows requires
twice as many buildbots thanks to requiring 32-bit support, taking twice the
space and using twice the processing power of our servers. To put it simply,
it has become very difficult to maintain 32-bit builds. This even causes
confusion among many users; according to advanced statistics gathered from
the downloads page, more than 60 percent of the 32-bit downloads are done by
64-bit OSes. The majority of 32-bit users are 64-bit users needlessly using
an inferior build!



In Conclusion

32-bit support is one of Dolphin's oldest features. But just like D3D9 before
it... times change. 32-bit has become a weight around all of our necks,
slowing down users and developers alike. With the 32-bit userbase shrinking
quickly, the builds becoming harder and harder to maintain and the benefits
dwindling, the developers have decided to discontinue the 32-bit Windows
buildbot, and cut away 32-bit support entirely. 32-bit ARM devices are not
affected by this decision and will continue to be supported. For loyal users
that are stuck on 32-bit Windows machines, the current builds are not going
anywhere and will be archived permanently, and Linux is a free 64-bit
operating system with full Dolphin support.

For any console, emulation progresses in stages. First is initial support,
grasping at straws fighting for even basic functionality. Then comes playable
games. As time progresses, accuracy and compatibility become the goal. And
finally, it reaches enhanced emulation, where emulation is not only accurate,
but improved upon through advanced features like netplay and HD graphics. In
all other consoles that have been emulated, each of these stages was
fulfilled by a different emulator. But for the GameCube and Wii? Dolphin has
fulfilled them all. It is the freedom to change and grow that has allowed
Dolphin to continue to evolve and grow in this manner. Shedding hindrances,
cleaning code, attracting new talent; Dolphin excels at these things,
allowing it to grow and evolve in ways no emulator before has ever achieved.
Removing 32-bit support is just one more step on this journey.

--

All Comments

Margaret avatar
By Margaret
at 2014-05-27T09:54
YAA,剛好上週重灌,換Win 7 64bit了~~
Linda avatar
By Linda
at 2014-05-27T21:52
作者真認真寫這麼多解釋,但總歸只有三點
1. x86 硬體已死多年
2. x86 跑不動 Dolphin
Susan avatar
By Susan
at 2014-06-01T01:13
3. x86 問題多多且很多東西不支援,修不好又拖進度
Jessica avatar
By Jessica
at 2014-06-05T01:32
多謝樓上講解
Ida avatar
By Ida
at 2014-06-09T11:38
第二點...其實64版本很多遊戲跑起來也很吃力啊~_~
Lydia avatar
By Lydia
at 2014-06-11T13:26
只希望追逐新規格真的能帶來實質的好處
Regina avatar
By Regina
at 2014-06-14T09:23
畢竟這個模擬器在之前重生時就只出了64位元的版本
Adele avatar
By Adele
at 2014-06-19T07:38
其實離好用確實還有段距離,不過考慮到這硬體的規格,
Elizabeth avatar
By Elizabeth
at 2014-06-22T16:57
也不能苛求什麼了,能作的就是一直測,盡量找出問題
Rebecca avatar
By Rebecca
at 2014-06-23T05:27
畢竟這算很高階的模擬了
David avatar
By David
at 2014-06-27T14:10
作者的意思是純32bit的處理器覺得跑不動
Puput avatar
By Puput
at 2014-07-01T21:41
像是Pentium4那種古董,所以放棄32bit
Ida avatar
By Ida
at 2014-07-02T03:38
r大,2要配合1看,x86現有硬體跑不動,以後也不會有更強
的x86硬體(更強更新的硬體一定是x64頂多相容x86)
Skylar DavisLinda avatar
By Skylar DavisLinda
at 2014-07-04T01:36
等i7中古一顆兩千塊的時候應該就可以了XD
Kumar avatar
By Kumar
at 2014-07-08T09:17
i7不就是x64的嗎@@
Hedy avatar
By Hedy
at 2014-07-08T20:32
Xbox One,PS4都是X86架構.....(跑)
Todd Johnson avatar
By Todd Johnson
at 2014-07-10T05:59
從模擬器發展來看 x86真的已經到了瓶頸能拉升的效能很有限
以前pcsx2也曾考慮放棄x86環境但因為使用者還是居多所以就
繼續硬幹 至於遊樂器的例子不能對著模擬器看 定位方向不同
處理的方式當然也會不同
Susan avatar
By Susan
at 2014-07-12T22:21
Xbox One、PS4都是採用AMD Jaguar架構APU,
Thomas avatar
By Thomas
at 2014-07-15T04:19
是64bit處理無誤,http://www.techbang.com/posts/16546
Susan avatar
By Susan
at 2014-07-19T06:40
1應該說X86指令集有16、32、64位元等版本,
Valerie avatar
By Valerie
at 2014-07-22T02:00
Xbox One、PS4的處理器就是64位元版本
Victoria avatar
By Victoria
at 2014-07-26T20:32
可以用x86指令集來模擬x64指令集嗎?
Jack avatar
By Jack
at 2014-07-29T20:35
樓上:我們現在用的x64是x86-64 也就是從是x86架構去擴充出的
64位元指令集 http://zh.wikipedia.org/wiki/X86-64
Bennie avatar
By Bennie
at 2014-08-02T19:28
感謝回答

(GB) FireGB Git (2014/05/21)

Oscar avatar
By Oscar
at 2014-05-21T21:16
2014.05.21 FireGB is an open source Gameboy Emulator. -- FireGB Git Changelog: * Fire GB v1.0 - Added Menu System - Upgraded to SDL ...

任天堂模擬器問題

Zenobia avatar
By Zenobia
at 2014-05-21T15:17
任天堂RPG如勇者鬥惡龍、吞食天地等遊戲有個特色 就是在地圖上遭遇敵人時背景會出現強烈閃光 尤其是勇者鬥惡龍 連放咒文都會有閃光 長久玩下來 覺得眼睛有點吃不消 印象中用過某個模擬器玩DQ 好像是famtasia 很神奇的從頭到尾都沒有閃光出現 我想問的是 哪一款模擬器可以設定成不會出現閃光呢 - ...

拳擊遊戲的名稱

Donna avatar
By Donna
at 2014-05-21T15:11
※ 引述《dffg (dx)》之銘言: : 我也不是很確定是在主機上玩到 還是電腦玩到的 : 那個拳擊遊戲 就是你扮演左右手的拳擊手套來攻擊 看不到你全身 不過你看的到對手 : 我記得他有招式是 手套變成火燄 可以重擊對手倒地 : 有人知道這款遊戲嗎 跟實戰拳擊那種遊戲的方式很像 打到一定程度手套會變金黃 ...

SNK本家角色惡搞王:侍魂 黑子

Blanche avatar
By Blanche
at 2014-05-20T22:54
※ [本文轉錄自 KOF 看板 #1EamhZ1- ] 作者: shiuichi (三隻魚閃鏢) 看板: KOF 標題: [閒聊] SNK本家角色惡搞王:侍魂 黑子 時間: Mon Oct 10 23:10:23 2011 http://forum.gamer.com.tw/C.php?bsn=00049 ...

紅白機手把造型耳麥

Daph Bay avatar
By Daph Bay
at 2014-05-20T17:29
雖然跟模擬器無關但是還是想po這邊 andgt;and#34;andlt; http://home.gamer.com.tw/creationDetail.php?sn=2446049 2P手把實在跟耳麥太match了!! - ...