Board logo

标题: [模拟相关] 超任模拟器为什么需要3GHz的处理器来达到精确 [打印本页]

作者: chenke    时间: 2014-11-8 22:04     标题: 超任模拟器为什么需要3GHz的处理器来达到精确

超任模拟器为什么需要3GHz的处理器来达到精确
Why Perfect Hardware SNES Emulation Requires a 3GHz CPU
http://www.tested.com/tech/gaming/2712-why-perfect-hardware-snes-emulation-requires-a-3ghz-cpu/

准确性需要处理能力: 用3GHz构建完美超任[SNES]模拟器的任务

作者:Byuu
http://arstechnica.com/gaming/news/2011/08/accuracy-takes-power-one-mans-3ghz-quest-to-build-a-perfect-snes-emulator.ars


[attach]705761[/attach]
互联网上用模拟器玩老游戏的讨论非常普遍,经常爆发些某游戏用哪个模拟器玩最好的争论。今天,我们换一个角度来看这个问题,介绍一下超任模拟器bsnes的作者的看法。他想要讲讲他认为模拟器体验的最关键部分——准确性。

用现代的电脑[PC]来玩任天堂红白机或超任游戏并不需要占用太多处理能力,1990年代的模拟器只需要25MHz的处理器能力就可以了。但是如果需要准确模拟老式家用机那就是另当别论了,有着完全不同的挑战。准确性好的模拟器可能需要高达3GHz的处理能力来忠实重现老科技。本文会介绍为什么准确性对模拟如此重要,还有为什么准确性如此难以实现。

简单而言,准确性是模拟软件模仿原始硬件程度的衡量。最明显的衡量方式就是直观兼容性——某老游戏能否在新模拟器上运行?但就从这么一个局限的角度也会扩展出许多小问题。实际上,多数软件对时序错误的容忍程度很高,甚至时序上有百分之二十的误差也能看起来正常运行。

所以问题就成了,如果我们能实现基本的兼容性,而且提高准确性会大大牺牲性能,为什么还要关心提高准确性?两个原因:游戏表现和保存。

首先是游戏表现。拿飞毛腿小子[Speedy Gonzales]为例,这是一个超任平台游戏,没有存盘功能,游戏时间在2至3小时。初一看,每个模拟器跑这个游戏都正常,但当你进入6-1关的时候,你很快就能发现准确模拟器和快速模拟器的差别。通关必须开一个开关,这时有一个很罕见的硬件状况,如果没有被模拟,游戏就死机了。可以想象这多让人不爽,一下子就白打了三个小时,遇到个打不通的游戏。除非软件在各方面的运行方式都与曾今硬件一样,这游戏就会有问题。
[attach]705762[/attach]
或者看看沙漠风暴[Air Strike Patrol],你飞机下方有个影子。这影子是用扫描线间栅格效果[mid-scanline raster effect]实现的,模拟这功能需要占用超多资源,但是如果没有栅格效果,飞机的影子就没了,就像下面的截图。如果你不知道本来该有影子,很容易忽略这个问题。一旦你看到过了,你就会知道这多么有用,你的飞机可以扔炸弹,这个影子的作用类似于瞄准系统,告诉你炸弹将扔在哪里。如果没有这个看起来并不重要的效果,确定炸弹扔在哪里会略微困难些。

第二个问题是保存。看看任天堂的Game & Watch掌机,这些机器最早1980年就出现了,至今共生产了4千3百万部,其中大多数都因为年代久远或人为损坏而不能再用了。尽管相对而言好机器还能搞到,但是珍惜度只会越来越高,也不会再生产新的机器了。这问题对于任何硬件都是一样的,一旦没有了就永远没有了。到那个时候,模拟器是唯一体验那些老游戏的方法,所以模拟器应该能准确再现游戏。

但是这样的准确性代价很高,模拟器准确性提高一倍,速度基本就要慢一半,准确性再提高一倍,速度就只有四分之一了。而这同时,提高准确性带来的好处却很快越来越不明显,多数游戏看起来和玩起来达到“可玩”程度只需要中等的模拟准确性。(多数模拟器的平衡点订在百分之九十五的兼容性同时取得优化的性能。)

不那么准确但是速度快的模拟器没什么不对,这样代码可以在处理能力较差的硬件上运行,比如手机、掌机。这样的模拟器也适合在追求电池时间的手提电脑上用。但准确性还是值得一提的,准确性也是我自己编写中尝试追求的。下面讲讲为什么这对我很重要。

软件实现

回到90年代末期,Nesticle是最好用的红白机[NES]模拟器,系统大概只要求25MHz。这样的性能带来很明显的问题,游戏画面经过针对这个模拟器的特殊处理来显示。民间翻译和游戏修改[hack]依赖模拟的瑕疵,这造成这些翻译和修改在真机上或其他模拟器上无法玩。于是造成了一种模拟器垄断,这种垄断持续了相当一段时间才被打破。当时人们通常并不在乎游戏本来看来和玩起的样子,只关心游戏在这个虚拟人造的环境中看起来怎么样,玩起来怎么样。

现在,最占统治地位的模拟器是Nestopia和Nintendulator,全速运行的系统需求分别是800MHz和1.6GHz。需要处理速度的原因并非是优化不好,而是这些模拟器在硬件还原的忠实程度上大大提高了。

拿这些模拟器和老的N64模拟器UltraHLE比,UltraHLE的需求仅仅是350MHz奔腾II系统[Pentium II]。对打酱油的旁人而言,他们很难理解为什么马里奥64[Mario 64(N64)]会比原本的马里奥兄弟[Mario Bros(NES)]需要的处理能力更少。

因为编写bsnes模拟器,我的模拟器经验主要在超任方面。我很欣赏Nestopia背后的理想标准,我想在超级任天堂[Super Nintendo]上实现这级别的准确性。根据不同的游戏略有差别,这种级别的对准确性的追求将系统需求提高到2至3GHz范围。

[flash=510,498]http://player.youku.com/player.php/sid/XODIyNzgyMTI4/v.swf[/flash]
时空特警[Timecop]在两个很不一样的模拟器上的表现

Nestopia后来居上的原因是对系统的需求并未超过当时的主流,但是我认为如果1997年推出Nestopia的话,肯定会是灾难性的失败。由于我自己编写的模拟器的系统需求超过市面上一半以上的电脑,对于高配置要求带来的影响和反对我有第一手的感受。对于用户而言,更容易批评作者优化做的不好,而不是承认自己的电脑性能不够。将家用机完整实现的过程很困难却也是现实情况。

为什么准确性很重要

为什么一个模拟器看起来运行所有游戏都正常还需要改进呢?简单来说,因为这改进了一些还不为我们知道的事情。在一些并不那么常见的软件中,这点尤其重要。

举个例子,比较ZSNES和bsnes运行塞尔达传说[Legend of Zelda]的片头,旋转的圣三角[triforce]动画。前者的主芯片[CPU]速度比超任真机快百分之四十,所以旋转完成过快。这些是小细节,但如果你的眼睛对准确性要求很高,这会让你疯了。

我见过几十个有隐藏瑕疵的游戏。有时候正确的、准确性更好的模拟器事实上呈现了“错误的”结果。超级原人[Super Bonk]的攻击模式演示实际上会失去了同步,在许多真机上会造成原人卡死在墙边。星际火狐整个游戏都有明显拖慢的问题。这些肯定不是设计的本意,但无论如何这才是真实的。我们不会因为小数不方便就把派四舍五入到3,对不?

我不否认将经典游戏当成可以改进的作品所带来的好处,比如N64模拟器带来了震撼的高分辨率贴图和1080P拉伸,比如超任模拟器常有的7号显示模式[mode 7(超任的3D显示模式)]2倍抗锯齿[2x anti-aliasing]支持以及音频采样中的三次样条插值[cubic spline interpolation]。这些使得模拟游戏看起来听起来更棒。虽然这没有什么不对,但与编写硬件准确模拟器的目标相背。事实上这些改进技巧甚至让准确模拟的可能性变得更困难,这些是典型的例子。

准确性带来的另一个主要好处是民间翻译、ROM修改和家庭开发的作品。他们中只有很少一部分人有条件用真机运行代码,所以通常都用模拟器来开发。但是不幸的是,速度为导向的模拟器常常会忽略硬件限制。对于商业开发的游戏而言这不是个问题,因为都要求用真机测试,毛病马上就发现了改掉了。但如果只用一个模拟器测试,这些问题都会被保留下来。
我举一些例子。民间翻译的勇者斗恶龙1和2[Dragon Quest 1&2],圣灵珠传说2[Dual Orb 2],美少女战士:新故事[Sailor Moon: Another Story]和伊苏4[Ys 4]都有文字无法显示的问题,因为写显存的时候正好是视频处理器渲染屏幕的锁定期,只有一半的作品后来修正了这些错误。

1997年起我们就知道这项硬件限制,只需要一行代码就可以修正,但是至今多数流行模拟器还不支持这特性。结果就是,专门针对某个模拟器开发的翻译作品一直存在问题,或者只能用这模拟器。谁会用一个准确性高,但是不支持大量民间翻译的模拟器?

事情还没完。原本硬件上调用数学单元[math unit]进行乘法或除法运算的时有延迟,所有的发布的商业作品都考虑到了这个延迟。但是民间修改没有考虑这个,导致一个塞尔达翻译作品的音乐截断,还有造成超级马里奥世界[Super Mario World]链条大嘴怪[chain-chomp]补丁乱来。

还有一个模拟器可能忽略了声音处理器将回声采样写入共享内存段,对于多数情况这不是个问题,但是一些修改疯狂使用不符合现实的回声缓冲大小时问题就来了,这最后造成整个内存中的音频程序被覆盖,从而产生各类滑稽的死机。这个问题造成很多民间开发的超级马里奥世界关卡不能玩。

一个模拟器通吃所有游戏

糟糕的时刻总有一天会到来,到时候最终用户需要ZSNES v1.42来玩四个翻译游戏、Snes9X v1.51来玩另外六个游戏的改版、bsnes v080来玩一些小众的日本游戏。这样问题就来了。

要知道模拟器也有保质期的,尤其是ZSNES这种用纯x86汇编写的东西,手机是不能运行的。如果一个改版游戏只有ZSNES能玩,那么这改版就注定了会成为非主流。一旦视窗操作系统[Windows]不再提供32位向后兼容支持,这些游戏就再也没法玩了,就像现在的视窗系统已经不提供16位向后兼容了。到那个时候模拟器本身也变成了一台坏主机,不再能维持老游戏的生命。

这些问题的症结在于超任游戏应该在什么平台上运行?当然是真正的超任机器上。创造可以完美或者尽量完美模仿原始硬件的模拟器,就创造了支持多系统的平台,这个平台的未来版本确保可以玩到游戏和各种改版。这种思想就是确保超任的硬件规格还活着,而不是老游戏。

好吧,但是真的要3GHz?你搞笑吧?

用300MHz处理能力来全速运行一个充分优化、速度优先的超任模拟器是可以做到的,但最终也会带来上百个隐含的错误。

最典型的解决方案就是用专属修改来解决问题。ZSNES和Snes9X内部都自带了五十个左右常见游戏的列表,一旦加载了这些游戏,模拟器会自动调整时序值并且修正一些代码段来确保游戏运行。这比起Nesticle时代,在外部直接修改游戏的做法要先进,但无论最终显示结果怎么样,这依然是在作弊。

那些只玩最流行的二十个左右游戏的普通娱乐玩家是无法发现需要300MHz和3GHz模拟器的差异的,所以他们自然会选300MHz的。尽管我真的尊重而且欣赏速度优先的模拟器,但是对于关注准确性的玩家而言,他们没有办法,只能暗自不爽,这种做法使得模拟进程停滞不前。如果没有更多的玩家用更准确的模拟器来玩游戏,就无法发现模拟器支持的游戏的错误。只要有更多人用游戏原本设计的方式来玩游戏,就会发现模拟器的问题,然后踏平,模拟器也会越来越好。发现了问题不要去修改针对每个游戏的特殊代码,而是修正模拟器的准确性。

下面的截图是一个很好的例子,这是一个小众游戏,其实是一个很好玩的平台游戏,但是知道的人不多。这个例子很好的说明了为什么不准确的模拟器很好地支持了多数流行游戏的同时,准确性还是那么重要。因为你永远不知道一个你喜欢的但是却稍微不常见的游戏什么时候会出这么一个错误。下面的截图里有个开关,在其他模拟器中,只要开了这开关,游戏立刻死机。后面的截图交代了原本应该出现的事情——这个开关会移动一个箱子到电场中间,只有这样才能过这关,然后才能打完游戏。在写此文时,bsnes是唯一一个可以彻底玩这个游戏的超任模拟器。
[attach]705763[/attach]

超任不仅有高分辨率显示模式,还有一个变种的“伪高分辨”模式,这个模式用来实现超任硬件图层间真正的阿尔法混合[alpha-blending]。忽略此模式会造成一些图层彻底覆盖其他图层,好比下面的图片。
[attach]705764[/attach]

电子游戏是我们历史的一部分,我们要尊重历史,游戏发布的时候有其“真正”的形态。试想一下,我们只有一副蒙娜丽莎的JPEG,一段登陆月球的Real视频流媒,或者一段乐器数字接口[MIDI]的云中漫步[Walking in the air]。我们是有能力保护我们过去的,我觉得这甚至就是我的职责。

那么多余的2.7GHz用在哪了?同步。

简单关注主处理器的时钟频率是最常见的对模拟器性能精确评估的错误概念,实际上这数值什么意义都没。N64的中央处理器是超任的35倍,但是UltraHLE和ZSNES需要的处理能力是一样的。

最主要的模拟器需求在于处理器间每秒同步的总次数。模拟器本质上是串行处理,尝试借助今日的多核处理器造成各种时序问题。拿装配线来举例,一个人卸箱子,另一个人扫描,另一个人代开箱子,另一个组装,等等。同步相当于停止工作,清空整个装配线,然后开始装配一个新产品,这对最终产出影响很大,这做法完全忽略了管线和乱序执行。同步越多,装配线就需要更快的动作来跟上。

比较一下ZSNES和bsnes同步率:

S-CPU: 600,000 vs 21,477,272
S-SMP: 256,000 vs 24,576,000
S-DSP: 32,000 vs 24,576,000
S-PPU: 15,720 vs 21,477,272
Total: 903,720 vs 92,106,544

先看中央处理器的情况,典型的工作频率假设是3.58MHz,这个频率相当于每秒处理的周期数,一条典型指令通常要消耗四至八个周期。ZSNES每条指令同步一次。更技术一点而言,每个周期又细分成总线保持延迟,这个需要原始振荡器级别的时序。超任中央处理器振荡器频率是21.47MHz,对于声调器而言也一样,声调器的振荡器频率是24.58MHz。

再来看视频的情况,百分之99的游戏在写屏时不会去尝试改写显示寄存器,这样全部扫描线可以一次性完成,这需要262条扫描线 x 每秒60帧的同步率。但是像沙漠风暴[Air Strike Patrol]这样的游戏,每条扫描线期间都会多次写入显示亮度寄存器,所以每个时钟周期都必须要同步才能达到完全准确性。

再来看音频的情况,基本上按照超任的32kHz声音频率,每周期同步一次,几乎所有的游戏都能正常运行。但是一运性蚯蚓战士2[Earthworm Jim 2]这样的游戏,如果不是每个周期都同步的话,音效就会被截断。甲子园2[Koushien 2]甚至可能会周期性的死机。

所以说,尽管bsnes比ZSNES运行慢十倍,数字上来看却要精确100倍。事实上,只要3GHz就能达到这个效果令人惊叹。因为我运用了协作多线程[cooperative multithreading]和按需同步[just-in-time synchronization],这些技术在其他模拟器中我从未见过,只有如此我才成功维持了bsnes现在的性能。状态机根本就达不到这个效率,更别提内核调度[kernel scheduling]了。

最直接的体现就是,ZSNES只有百分之一的同步率,多数游戏也能正常玩。绝对的完美同步是罕见的需求,这点我不否认,但也要看到,有些时候就是需要完美同步。就超任的中央处理器的慢速度而言,许多游戏本来就已经将系统逼到了极限。

如果时序不完美,最终就变成长期打地鼠游戏[whack-a-mole 可以理解成“按下葫芦起了瓢”]了。改好一个游戏,另外两个出问题,改好这两个,又有两个出问题,再改这两个本来那个再次出问题。看看之前十五年的改动记录就能明白这个了。

模拟附加处理器

卡带游戏系统实际上就是把一块印刷电路板[PCB]插入了系统,这很有趣,因为这样一来你就可以在卡带里增加额外的处理器,通常是数字信号处理器[digital signal processor]。 这样就能比竞争对手的游戏更有优势,最常见的超任协处理器[coprocessor]是处理多边形渲染和精灵[sprite]旋转的SuperFx(用于星际火狐[Starfox]和超级马里奥世界2[Super Mario World 2]),和3D运算的DSP-1(用于飞行俱乐部[Pilotwings]和马里奥赛车[Mario Kart])。

这些处理器常独立于主机处理器,可以用高级模拟[high-level emulation(HLE)]来实现。超任协处理器不是特例,在N64的视频微代码[microcode]模拟中也能见到,还有一些其他的案例。

这时候就不独立考虑每条指令了,而是统一看成一组指令。换言之,程序这样来考虑这些功能——“在这些点上渲染一个三角形”或者“将这个精灵旋转某角度”。这样模仿这些操作就能几乎没有额外开销。但是这样却也忽略了每条指令执行间的时序信息。最大问题在于,这肯定不完美——一些原本的罕见情况、扭曲和问题都没了,最后得到略有不同的情况。

低级模拟[low-level emulation(LLE)]的做法是把数字信号处理器也当作普通处理器来对待——每次只执行一条指令。游戏运行不如真机快了,但是所有罕见情况都对了,这更为重要。用高级模拟方式马里奥赛车[Mario Kart]运行速度和超级马里奥世界[Super Mario World]一样快,但是用低级模拟方式,就要慢百分之25到30。后来的洛克人X[Mega Man X]游戏用的Cx4芯片性能很强劲,用低级模拟方式要慢一半。就算是超任的时代,数字信号处理器也非常强劲,典型的每秒百万指令性能[MIPS]达到21。

低级模拟实现起来开销很大,是指金钱开销大。为了得到数字信号处理器的程序代码,需要用硝酸腐蚀集成电路,然后用电子显微镜扫描芯片表面,再然后要么标注颜色后手动解读程序,要么物理上修改电路然后解出程序和数据只读存储器[ROM]。这活需要极专业的知识和设备,所以根据芯片的复杂程度不同,这事搞专业了能花费上数百万美元。感谢一个号称“斩首者博士[Dr. Decapitator]”的个人,帮我们解出近一打芯片的数据而只收取了材料费。

解出以后,就发现这些数字信号处理器常常是些专门组件,在基本没有文档的情况下要从二进制颗粒中反向工程出指令集。这很费事,这也表明了想要准确模拟这些游戏需要怎样程度的献身精神。

够准确了么?

老实说,就算解决了上面这些问题,我们也只搔到了准确模拟的皮毛。看看DICE,即数字集成电路模拟器[digital integrated circuit emulator],这是一个晶体管级别的模拟器,绝对完美再现了全世界第一个电子游戏——双人乒乓[Pong],以每秒5到10帧的速度运行这游戏需要3GHz的处理器。你没看错——目前还没有电脑处理器能以电路级全速运行双人乒乓[Pong]。并不是因为数字集成电路模拟器很慢,这个程序已经十分优化了,只是需要超大量的额外开销来仿真每个末端晶体管的传播延迟[propagation delay]。

但是总有一天能全速的。这个经典游戏为子孙们完全重现,我感到很高兴。

以数字集成电路模拟器的方式来处理更现代的系统问题就大了。但是有些聪明人搞出了Visual6502,他们用类似我们解数字信号处理器的方式扫描了6502中央处理器的表面,这处理器在NES和Commodore 64以及其他一些机器中都有。然后将晶体管向量化,忽略传播延迟,实现了芯片的高级仿真。用Javascript的演示很著名,然后也移植到了C语言,还进行了优化。尽管走了捷径,目前电脑还没有快到能在模拟器中这样来实现。

我的确是希望模拟器能支持每个末端晶体管传播延迟,实际上这不可能。这么说吧,我们这辈子是看不到能以这个级别把N64模拟到能玩的帧率。

即便是超任能否达到这个级别也令人怀疑。我很清楚现代电脑的运算能力在一定程度上决定了准确模拟的程度。

我采取的折中方案是把系统设计成类似真机硬件,并且将每个处理器独立开,只共享真实芯片会相互共享的状态值,最终目标是所有操作结果都与真机硬件完美一致。我的做法至少让模拟器与真机硬件看上去没啥区别,但不像数字集成电路模拟器那样,这没有将原始硬件设计以完美的数字方式呈现。

[attach]705765[/attach]
目标不是改进硬件,目标是尽量接近硬件

对于N64或更强的机器,我知道我这个做法都不可行了。我没有下简单的结论,但是我清楚没有人应该开发出全世界最强大的系统也无法达到每秒一帧速度的模拟器。

结束语

令我担心的是目前多是情况下开发人员甚至害怕用到现有系统的一半性能,而那些最早期的,最不准确的模拟器的系统要求浇铸了所有未来模拟器的评判标准。
我不明白,我们为什么不榨干现有处理器的性能,甚至期待未来更快的硬件。老式的模拟器还没有消失,用老式的慢速的硬件的用户依然可以选用老式模拟器。

对于那些有高性能系统,请给更准确的模拟器一个机会!开发人员绝对需要用户对他们的模拟器忠诚度更高些,开发人员也需要知音来鼓励他们继续开发下去。

[ 本帖最后由 chenke 于 2014-11-12 23:12 编辑 ]
作者: SONIC3D    时间: 2014-11-8 22:37

写得很好的文章,虽然翻译有些问题,但不影响总体理解。

经常有人问某某烧录卡解决某某汉化ROM的画屏问题了么,读了这篇文章应该会知道造成模拟器可玩而实机画屏的这类问题的根源到底在哪个环节上了。

[ 本帖最后由 SONIC3D 于 2014-11-8 22:39 编辑 ]
作者: 昵称无效    时间: 2014-11-8 22:47

posted by wap, platform: Chrome
可惜没有评价一下mame的snes模块
作者: zmqzmqzmq    时间: 2014-11-8 23:37

posted by wap, platform: iPhone
玩的是模拟器而不是游戏…
作者: md2    时间: 2014-11-8 23:59

我觉得最抓狂的是,理论上不同批次的主机的物理特性也不一样……
光晶振批次就是个玄学
作者: alexey    时间: 2014-11-9 08:49

好文啊。
作者: USE2    时间: 2014-11-9 10:20

作為玩家只要關心能不能正常玩和硬件要求就行了
所以MAME在我眼裡就是不如FBA好用

[ 本帖最后由 USE2 于 2014-11-9 10:21 编辑 ]
作者: lyt777    时间: 2014-11-9 10:33

这本来就是模拟器的真谛所在,我们不反对使用低配模拟器,但是对精确模拟的进步绝对不能停止,因为毕竟模拟器存在的作用在于传承历史。
作者: bbsbot    时间: 2014-11-9 11:32

好文,学习了。
作者: 488472    时间: 2014-11-9 11:39

posted by wap, platform: Android
只知道Wii官方100%模拟sfc要不了3g频率。
作者: 凤凰    时间: 2014-11-9 12:31

posted by wap, platform: MAC OS X
神啊
作者: chenke    时间: 2014-11-9 13:16

引用:
原帖由 488472 于 2014-11-9 11:39 发表
posted by wap, platform: Android
只知道Wii官方100%模拟sfc要不了3g频率。
WII VC的模拟只针对发布的那些游戏啊
作者: cpspig    时间: 2014-11-9 13:27

谁直接贴优酷网址了,打开就自动跳转!
作者: 麦麦麦麦爷    时间: 2014-11-9 15:18

chrome打开就自动跳转到优酷页面是什么情况.
作者: ahliang    时间: 2014-11-9 21:26

楼主是原中文翻译作者吗?还是转贴?请看http://bbs.emu-zone.org/viewthread.php?tid=788170
作者: emubase    时间: 2014-11-9 22:32

像大神致敬,怎么没提MAME的精确模拟呢?难道相比起bsnes来不值一提?
作者: 李元霸    时间: 2014-11-10 01:09

posted by wap, platform: Meizu MX2
张姿势了
作者: 性博士    时间: 2014-11-10 08:59

posted by wap, platform: 华为 荣耀3X 畅玩版
精确模拟确实耗资源
玩数字电路模拟器不如玩fpga了。
作者: h188cm    时间: 2014-11-10 13:15

bsnes已成历史
作者: aso    时间: 2014-11-10 13:31

posted by wap, platform: iPhone
话虽如此,但模拟个超任要3G也夸张了些。
作者: szxyz    时间: 2014-11-10 13:40

好文章,值得反复阅读
作者: 萝卜    时间: 2014-11-10 15:02

posted by wap, platform: iPhone
wii vc 并不精确,我说完了
作者: jinny    时间: 2014-11-10 17:38

引用:
原帖由 h188cm 于 2014-11-10 13:15 发表
bsnes已成历史
现在哪个sfc模拟器最精确?
作者: 马甲爵    时间: 2014-11-10 18:11

全给你了
作者: TotemG    时间: 2014-11-10 21:21

引用:
原帖由 jinny 于 2014-11-10 17:38 发表


现在哪个sfc模拟器最精确?
Higan?
作者: 脆骨    时间: 2014-11-10 23:19

posted by wap, platform: Chrome
MAME 能玩sfc全部游戏么
作者: sirforest    时间: 2014-11-11 09:59

追求精确模拟是以后用来保留这些游戏资料的唯一手段了。必须要支持。

电子游戏是我们历史的一部分,我们要尊重历史,游戏发布的时候有其“真正”的形态。试想一下,我们只有一副蒙娜丽莎的JPEG,一段登陆月球的Real视频流媒,或者一段乐器数字接口[MIDI]的云中漫步[Walking in the air]。我们是有能力保护我们过去的,我觉得这甚至就是我的职责。

看到这段非常感动,我很喜欢Retro Game,也买过很多实机。但我认为我远不如这些为精确模拟而努力的开发者。

另外,Byuu为了精确模拟,自己的卡带库庞大到令人发指,因为需要一个一个游戏来搞定,为了保留经典而去收集卡带,本身就是一件值得敬佩的事。

[ 本帖最后由 sirforest 于 2014-11-11 11:22 编辑 ]
作者: tzenix    时间: 2014-11-12 18:26

普通用户谁会在乎那么多呢
更何况有问题的大多数都是小众游戏
作者: china_ktv    时间: 2014-11-12 20:34

如果是转贴请注明出处
不注明原作者(包括译者)是很LOW的行为
作者: chenke    时间: 2014-11-13 07:58

posted by wap, platform: iPhone
引用:
原帖由 @SONIC3D  于 2014-11-8 22:37 发表
写得很好的文章,虽然翻译有些问题,但不影响总体理解。

经常有人问某某烧录卡解决某某汉化ROM的画屏问题了么,读了这篇文章应该会知道造成模拟器可玩而实机画屏的这类问题的根源到底在哪个环节上了。
我修正了一些名称和译法,看看还有啥问题。
作者: sirforest    时间: 2014-11-13 14:37

引用:
原帖由 tzenix 于 2014-11-12 18:26 发表
普通用户谁会在乎那么多呢
更何况有问题的大多数都是小众游戏
你还是没搞清楚模拟器真正存在的意义并非是用于商业。软件和ROM也并不用来卖钱。除非是开发商的行为。模拟器只是为了,保留经典游戏,让他们以最初的状态展现给后人,让他们了解游戏曾有如此珍贵的历史。它的意义并不只是单纯的游玩而已。

就算是一流的开发商,在对待经典游戏移植的时候态度也是必须一丝不苟地完成,比如Namco会在十几年后移植《铁板阵》的时候特地用软件去重塑原先电路产生的Bug。

[ 本帖最后由 sirforest 于 2014-11-13 14:39 编辑 ]
作者: tzenix    时间: 2014-11-13 14:51

引用:
原帖由 sirforest 于 2014-11-13 14:37 发表

你还是没搞清楚模拟器真正存在的意义并非是用于商业。软件和ROM也并不用来卖钱。除非是开发商的行为。模拟器只是为了,保留经典游戏,让他们以最初的状态展现给后人,让他们了解游戏曾有如此珍贵的历史。它的意义并 ...
别站在什么制高点上一副说教的样子,我当然知道这文章想表达什么
大多数用户不在乎什么精确不精确,是不是最初的状态都无所谓,还原bug也要看什么bug,对大多数用户而言,如果模拟器能改良或者修复游戏的一些问题,他们绝对欢迎
比起bsnes,我更喜欢用snes9x或者snesgt,除非这个游戏这两个模拟器都不支持,我才会去试试bsnes
bsnes玩个rom都还要先转换,看着就烦
作者: tzenix    时间: 2014-11-13 14:54

铁板阵这种游戏,大多数新一代玩家顶多找来看2眼,玩?那么乏味的游戏,放在198x年玩玩还差不多,现在就算老玩家都不想玩了。至于里面的bug,谁在乎
作者: lyt777    时间: 2014-11-13 18:21

posted by wap, platform: Galaxy Note III
引用:
原帖由 @tzenix  于 2014-11-13 14:54 发表
铁板阵这种游戏,大多数新一代玩家顶多找来看2眼,玩?那么乏味的游戏,放在198x年玩玩还差不多,现在就算老玩家都不想玩了。至于里面的bug,谁在乎
再过10年如果有人也这么评论名将的话你会做何感想?
作者: 海腹川背    时间: 2014-11-13 19:42

铁板阵绝壁经典,不懂别比比。
作者: xuziyu2006    时间: 2014-11-13 19:54

我记得是tb以前翻译的呀,楼主转载标明啊喂
作者: tzenix    时间: 2014-11-13 21:31

名将的模拟度不是早就很好了吗?这样的知名度的作品,模拟器作者肯定会重点照顾,有什么可担心的
至于说铁板阵经典的,如果我是比比,那你就是装逼
这种放到76合1里都无人问津的游戏,你那么喜欢你天天玩好了
作者: 昵称无效    时间: 2014-11-13 22:58

posted by wap, platform: ZTE
higan要import游戏rom转化成自家的格式才能玩,的确烦人,前几个版本还老改默认文件夹,导致玩到一半的才游戏不能继续,现在好多了
作者: md2    时间: 2014-12-25 10:46

之前我还有点怀疑,现在彻底信了

有个实际的例子,两个模拟器,同样的游戏,节奏不一样。

第一集的最后和第二集的开头
http://www.bilibili.com/video/av1622354/
http://www.bilibili.com/video/av1824675/
作者: tzenix    时间: 2014-12-25 14:40

引用:
原帖由 md2 于 2014-12-25 10:46 发表
之前我还有点怀疑,现在彻底信了

有个实际的例子,两个模拟器,同样的游戏,节奏不一样。

第一集的最后和第二集的开头
http://www.bilibili.com/video/av1622354/
http://www.bilibili.com/video/av1824675/
嗯,是的。这类游戏,就需要精确模拟
作者: sirforest    时间: 2014-12-25 16:22

引用:
原帖由 tzenix 于 2014-11-13 14:51 发表

别站在什么制高点上一副说教的样子,我当然知道这文章想表达什么
大多数用户不在乎什么精确不精确,是不是最初的状态都无所谓,还原bug也要看什么bug,对大多数用户而言,如果模拟器能改良或者修复游戏的一些问题 ...
你既然知道人家是什么意思,还非要说一句,普通用户哪管那么多。

没错啊,普通用户当然不管那么多,但有些用户,有些人就是要管那么多,也要被你吐槽?
作者: 正树主席    时间: 2014-12-25 21:17

posted by wap, platform: Android
sfc上的伊苏4有汉化版?
作者: okiyo    时间: 2014-12-26 09:41

高大上和吊丝之间不会有共同观点的,两者需要磨合,任何一方走极端都是不可取的。bsnes为何不同时兼容两种模式,对于大部分游戏采取其他模拟器的方式,使得低配置电脑也能全速运行,当出先那些有模拟问题的游戏时再切换到需要3ghz的精确模拟方式,这能适当的节省机器功耗和能源,为人类社会的子孙后代造福,有何不可?
作者: sirforest    时间: 2014-12-26 09:51

引用:
原帖由 okiyo 于 2014-12-26 09:41 发表
高大上和吊丝之间不会有共同观点的,两者需要磨合,任何一方走极端都是不可取的。bsnes为何不同时兼容两种模式,对于大部分游戏采取其他模拟器的方式,使得低配置电脑也能全速运行,当出先那些有模拟问题的游戏时再切 ...
模拟器本来就不是商用软件,既然有能够符合普通用户的模拟器,Bsnes何苦再去“抢占市场”?
作者: jjx01    时间: 2014-12-26 21:18

奔腾4的3g,和i7的3g,是差了n倍的3g
那么问题来了,作者的3g说的是啥cpu?
作者: yksoft1    时间: 2014-12-27 10:28

posted by wap, platform: Firefox
引用:
原帖由 @jjx01  于 2014-12-26 21:18 发表
奔腾4的3g,和i7的3g,是差了n倍的3g
那么问题来了,作者的3g说的是啥cpu?
这文章大概是09年还是10年的老文,当说的是core2
作者: jjx01    时间: 2014-12-27 21:03

引用:
原帖由 yksoft1 于 2014-12-27 10:28 发表
posted by wap, platform: Firefox
这文章大概是09年还是10年的老文,当说的是core2
英文页面里是2011年的
Why Perfect Hardware SNES Emulation Requires a 3GHz CPU
BY WESLEY FENLON ON AUG. 10, 2011 AT 6 A.M.

I7第二代Sandy Bridge都出来了

能把3G i7的单核资源耗光的模拟器至今还没出来吧
作者: GYNECOMASTiA    时间: 2017-12-26 19:04

这个模拟器在我的6700上竟然还有拖慢,真是醉了。
作者: hhbbaabb    时间: 2017-12-26 22:12

posted by wap, platform: VIVO
引用:
原帖由 @tzenix  于 2014-11-12 18:26 发表
普通用户谁会在乎那么多呢
更何况有问题的大多数都是小众游戏
有部分热门游戏也因为模拟器问题不能正常玩,md皇帝财宝后期对话顺序错误导致剧情无法进行下去,据说到现在都没办法解决。dc模拟器维罗妮卡的虎头bug,pc版模拟器后来针对这个游戏集成修复补丁,但是据说手机模拟器没辙?

说到手机版很多模拟器兼容性也比pc版差远了,很多知名度高的游戏都不能运行
作者: alexey    时间: 2017-12-26 22:38

已经2017年底了,截至目前PC上综合最优的SFC模拟器是哪个(游戏兼容性以及精确性)?
作者: newkyo    时间: 2017-12-27 13:18

posted by wap, platform: Android
按照TG标准,30G也不能精确,(3T也不能完美),哪怕最劣质的移植版也比模拟器要好。
作者: samusialan    时间: 2017-12-27 13:59

现在sfc精确度最高的模拟器有bsnes,同作者现在的higan,使用bsnes作为核心的bizhawk(其他使用bsnes作为核心的模拟器并不是精确度最高的),以及isnes
以上都是win系统下的版本,其他系统如果有移植都不是精确度最高的
文章中的3G处理器指的是奔腾4,这篇文章最早是0几年的时候写,酷睿2处理器还没完全普及
作者: FatalFrame    时间: 2017-12-28 06:58

posted by wap, platform: Android
Mark下
作者: wonder1999    时间: 2017-12-28 17:39

作者太讲究了,偏执狂属性
作者: reg-neo    时间: 2017-12-29 17:25

posted by wap, platform: iPhone
玩家没啥必要纠结这种模拟器,好用即可

为了传承计,功劳大大的

而且到了3D时代,还帧率越高越好呢
作者: wuyingjun    时间: 2017-12-29 18:17

模拟器开发者 技术烂

就怪 CPU 不给力?
作者: lencil    时间: 2021-7-8 17:49

可惜啊,bsnes这个模拟器真的很精确。作者真的很天才也很执着。
作者: mephistofele    时间: 2021-7-8 18:21

posted by wap, platform: Android
民国教育委员会是不是必须准确模拟才不死机?
作者: cloudian    时间: 2021-7-8 20:19

posted by wap, platform: Android
作者可惜了
作者: 865261    时间: 2021-7-9 12:22

posted by wap, platform: Android
自杀了?




欢迎光临 TGFC Lifestyle (http://bbs.tgfcer.com/) Powered by Discuz! 6.0.0