设为首页收藏本站

琵琶行论坛

 找回密码
 注册
查看: 3591|回复: 179

[原创] 超低延迟,无双手感,至高经典,峻极神工,本人吐血力荐之超强MAME变种GroovyMAME...

[复制链接]

该用户从未签到

发表于 2017-11-24 04:11:14 | 显示全部楼层 |阅读模式
本帖最后由 燕市游徒 于 2017-11-24 19:32 编辑

超低延迟,无双手感,至高经典,峻极神工,本人吐血力荐之超强MAME变种GroovyMAME之漫议杂谈,包你玩爽各大街机巨作



前言

一些琐语。这是一篇安利模拟器:GroovyMAME的文章,GroovyMAME是我苦寻良久才找到的一款比较满意的街机模拟器。因为国内对此模拟器的中文记载几近于零,所以我会认真的写些文字来介绍这个模拟器。

在本文的开头,讲一讲视频游戏的输入延迟这个概念(input lag)。

根据WIKI的资料解释,在视频游戏领域里,输入延迟的定义如下:

输入延迟就是指游戏中按下一个按钮到游戏产生反应之间的延迟响应时间。

输入延迟由很多部分的延迟组成,包括显示器的延迟、手柄的延迟、操作系统和显示驱动的延迟等等方面的延迟。

重点是,因为模拟器的运作机理,对比实机,模拟器不可避免的会产生更大的输入延迟。

https://byuu.org/articles/latency/有一篇多机种模拟器higan作者写的有关模拟器延迟的文章,里面有较为详细的说明。

比如在输入轮询方式、声音采样、视频处理、主题叠加等方面,模拟器都难以望实机之项背,因为模拟器的输入延迟比实机延迟要大。这里省略65535字的长篇大论,具体理论论证,请到上述网址观看。

为了减少这种模拟器的输入延迟,模拟器作者们做了很多尝试,于是GroovyMAME就应运而生了。

GroovyMAME是一个MAME变种,专注于输出低解信号,降低输入延迟,减少画面撕裂、抖动。GroovyMAME主要是一种PC——低解CRT解决方案。

更加令人兴奋的是,配合同作者编写的显示驱动软件CRT Emudriver,和一些特定型号显卡,主要是hd4xxx——hd7xxx系列amd显卡,可以将各种模拟器低解输出到街机显示器、电视、彩监。

一台配置奔腾G3258、超频至4.5G的电脑,使用amd hd4xxx——hd7xxx系列显卡,安装WinXP或Win7操作系统,配合GroovyMAME,输出信号到低解CRT显示器,可以达到很高效的性能,和几近媲美街机基板的显示效果。在一些视频网站上有街机基板实机和GroovyMAME电脑输出的对比效果测试,足以以假乱真。

虽然这种方案需要配置一台PC电脑,价格比较昂贵,不过却适合性能至上的用家。

虽然GroovyMAME主要是用于把视频信号输出到低解CRT显示器,不过用液晶显示器也可以玩GroovyMAME,而且比官方版MAME延迟更少。若是你有钱买具有144HZ显示功能甚至支持G-Sync、FreeSync等特效的高价液晶显示器,那么因为这些高级显示器支持各种稀奇古怪的刷新频率,所以在视觉平滑的效果上会比普通60hz液晶显示器更接近于低解CRT显示器。

以下是GroovyMAME作者对GroovyMAME的特征说明:

GroovyMAME不同于官方MAME的特色:

——改进的音视频同步系统,真正达成丝般顺滑的视频滚动,和无撕裂的视频效果、无卡顿的音频效果。

——为CRT低解显示器自动产生特定的视频同步信号。

——减少输入延迟。


GroovyMAME的下载和配置

使用者可以从这里下载GroovyMAME:
游客,如果您要查看本帖隐藏内容请回复


截止目前,GroovyMAME还没有更新0.184,所以下载0.183版本就好。

不过可能有很多朋友连接不了下载GroovyMAME的网盘,那么本人提供了一个下载地址,点此直接下载GroovyMAME整合版:
游客,如果您要查看本帖隐藏内容请回复


在下一楼层中,我将讲解一下怎样下载、配置和使用GroovyMAME。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

6

查看全部评分

该用户从未签到

 楼主| 发表于 2017-11-24 04:15:28 | 显示全部楼层
本帖最后由 燕市游徒 于 2017-11-24 04:47 编辑

GroovyMAME的实际效果

我认为到目前为止,GroovyMAME是一个极为强大的MAME变种,是输入延迟最低,也是操作感最趁手的模拟器之一。对于响应时间要求很高的街机动作、射击、格斗等类型游戏,更快的响应时间意味着能让手感更顺滑、更灵敏、更舒适。其实MAME官方版手感已经还算不错,但是GroovyMAME却可以让操作手感更上一层楼。

在很久以前,曾经有AdvanceMAME这样的MAME变种支持CRT低解显示器输出,也有ShmupMAME这样标榜低延迟的专为射击游戏开发的MAME变种存在。然而AdvanceMAME支持的MAME内核版本停留在MAME 0.106止步不前;而ShmupMAME早已停止开发。但是GroovyMAME则仍能够紧随官方MAME的脚步更新,显得非常可贵。

那么GroovyMAME对比MAME官方原版,到底其具体的输入延迟可以减少多少?根据GroovyMAME作者Calamity的测算,实机基板的输入延迟时间一般大概在2帧左右。设置不当的MAME原版模拟器,会比实机多出2——3帧等待时间。算上这2——3帧的模拟器输入延迟时间,设置不当的MAME官方版会比实机延迟一倍以上。

然而优化设置的GroovyMAME,和不当设置的MAME原版相比,可以将这2——3帧的输入延迟时间缩减很多。在缩短这一段延迟时间上,GroovyMAME是最为拿手的。

原文出处:
http://t.cn/Rx3wrJu

顺便说一句这篇文字的作者Calamity大神并不是等闲之辈,来头不小。他是GroovyMAME的主要作者,也是MAME TEAM成员,我个人非常期待他能将GroovyMAME代码移植给MAME官方。所以我认为他说的话是真实可信的。

我估计看到这里,有人已经迫不及待的想跳出来说,2——3帧输入延迟算什么,相比于显示器、摇杆、手柄等设备的延迟不足一提。我想说的是,有没有这2——3帧输入延迟,区别还是挺大的。

如果实在感觉不出来,只能说明你对响应时间不太敏感,或街机游戏玩的比较少,缺乏对比。

下面放几个我从国外视频网站搬运的GroovyMAME视频:

GroovyMAME模拟器街机框体配置演示:

http://v.youku.com/v_show/id_XMTg0OTA4NjkwMA==.html



EspGaluda,长空超翼神实机街机基板框体和使用GroovyMAME模拟器的街机框体显示效果对比演示,注意两台街机框体的画面更新时间和显示效果,几乎如出一辙:

http://v.youku.com/v_show/id_XMTg0OTA5NTgyMA==.html



Taito Egret 2街机框体连接安装Hyperspin前端和GroovyMAME模拟器演示:

http://v.youku.com/v_show/id_XMTg0OTA5ODI1Ng==.html



以及老外对GroovyMAME和MAME的输入延迟测试文章,值得一看(需要科学上网):
http://filthypants.blogspot.com.es/2015/06/latency-testing.html

文章中的MAME、GroovyMAME、Retroarch模拟器延迟对比图



之后我会针对液晶显示器用户讲一讲下载、使用和配置GroovyMAME的方法,以及怎样设置可以最有效的减少输入延迟。

毕竟,现在使用液晶显示器的模拟器玩家是主流人群,而且我也没有大屁股低解CRT显示器,无法测试用CRT玩游戏。虽然说GroovyMAME的主要用户群和优化方向是CRT用户,但是用液晶显示器也照样可以玩,且相对官方MAME,可以减少相当多的输入延迟。而且用液晶显示器配置GroovyMAME比用CRT要简单多了,不需要特定显卡硬件,不需要繁琐的设置和配置模拟器和显示器。只要参数选择正确,在液晶上玩GroovyMAME和玩普通MAME几乎一模一样。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2017-11-24 04:24:48 | 显示全部楼层
本帖最后由 燕市游徒 于 2017-11-24 04:51 编辑

强大的MAME改版:GroovyMAME的下载和配置

在官方下载网盘中,Win7及以上版本操作系统的用户,推荐点击groovymame64_0183.017c_d3d9ex.7z这个文件下载,WinXP系统用户,推荐点击groovymame32版本的文件下载。这是因为带d3d9ex的版本可以在视频模式中选择d3d9ex模式,可以更好的降低输入延迟。

下载文件后解压,里面只有一个可执行文件,其他配套文件都没有。这时候可以去到mamedev.org下载官方mame 0.183版本,解压后,把groovymame64_0183.017c_d3d9ex.7z这个文件里面的mame64.exe覆盖到官方mame目录中去。

为了方便管理各种选项,我们需要下载mamepgui这个mame前端来管理GroovyMAME。mamepgui在http://f.ppxclub.com/669953-1-1中有下载。把下载得来的文件解压,把mamepgui.exe拷贝到mame64.exe所在的目录中,然后运行mamepgui.exe。出现让用户选择exe文件的窗口,这时就选择mame64.exe,mamepgui会处理其后的工作。

然后,如果使用者需要mamepgui前端显示mame中文游戏列表,需要到http://f.ppxclub.com/609487-1-1下载mame 0.182中文列表(只更新到0.182),然后在mame目录中创建一个lang目录,在lang目录中再创建一个zh_cn目录,然后将中文列表文件解压后拷贝到lang/zh_cn目录中去。再开启mamepgui前端,即可显示中文列表。

一切准备就绪后,可以开始配置GroovyMAME了。双击打开mamepgui.exe,进入文件——选项——默认游戏选项——全局——杂项,首先在core switchres部分中,把monitor改为lcd。这是为了告诉GroovyMAME,使用者用的是lcd液晶显示器。之后,win7及以上版本操作系统用户,在文件——选项——默认游戏选项——全局——系统视频——视频输出方式中,将视频输出方式改为direct3d。这是为了开启d3d9ex模式,该模式可以更好的降低输入延迟。






本人提供下载的GroovyMAME整合版已经整合了groovymame64_0183.017c_d3d9ex.7z、mamepgui前端和中文列表,还附带了几个游戏,使用者只要双击打开mamepgui.exe,即可开始游戏。

GroovyMAME的设置和优化

GroovyMAME有很多不同于官方MAME的选项,如果设置对了会有事半功倍的效果,可以更加有效的减少输入延迟。下面本人就简要谈谈GroovyMAME的一些独有的选项和效果:

1、选项——全局——核心视频——autosync,这个选项是指让GroovyMAME来自动管理垂直同步和三重缓冲等选项,一般打开就行了,在选项处输入“1”即是打开,输入“0”是关闭。开启这一选项后,垂直同步和三重缓冲等选项都不用打开。

2、选项——全局——系统视频——视频输出方式,这个选项是调节视频输出的,有GDI、DirectDraw、Direct3D和BGFX这些选项可选,如我上一篇文章所说,使用win7及以上操作系统,并使用groovymame64_0183.017c_d3d9ex.7z此版本的用户,建议将视频输出方式设为Direct3D最为合适,这是为了开启d3d9ex模式,可以更好的降低输入延迟。



核心视频、系统视频中的其他选项保持默认即可,只要在mamepgui的图形界面中没有黄颜色的标识,就说明选项处于默认状态。如果有黄颜色的标识,那么选项是非默认状态,点击其后的reset to default的按钮,可以让这个选项恢复默认状态。

3、选项——全局——杂项——core switchres,这里面有一些重要的选项。




我们现在讨论的都是液晶显示器,如果用户的显示器是横向摆放的,也即是横向长度大于纵向宽度的情况,那么在Orientation(方向)选项里要填写horizontal这个单词,这是为了告诉GroovyMAME用户的显示器是水平摆放的。如果用户的显示器是纵向摆放的,则应该填入vertical这个单词,这是为了告诉GroovyMAME,用户的显示器是垂直摆放的。

再来看Frame delay这一项。这一项的设置范围是0-9,设为0是关闭。设为1为最小效果,9为最大效果。打开Frame delay这个选项可以有效的减少输入延迟,但是,不是设为数值越大越好的,因为数值越大,需要的系统性能越高。对于要求系统性能不高的游戏驱动,比如CPS、neogeo或PGM等驱动,也只要设为1-3就好,对于系统要求高的游戏驱动,比如cave公司的怒首领蜂大复活、虫姬等游戏,开启这个选项可能就跑不起满速了,这时只能关闭这一选项。

和Frame delay选项相关密切的选项是Vsync offset这一项。因为开启了Frame delay选项后,屏幕顶端可能会有一些画面撕裂的现象出现,Vsync offset可以处理画面撕裂,将其消除。Vsync offset的一般设置范围是0-150之内,0为关闭,设置的越大,画面撕裂的现象就会出现在屏幕越高的地方,可能需要一定的调节才能彻底消除屏幕撕裂现象。因为每台显示器的分辨率不同,设置数值都不太一样,所以这个选项不是设为固定数值或者数值越大越好的。

另外,据说GroovyMAME配合AMD的FreeSync技术,可以卓有成效的降低输入延迟,然而本人使用的是普通显示器,不支持FreeSync技术,所以也只是道听途说而已。

GroovyMAME和官方MAME的推荐配置方案

GroovyMAME是脱胎于官方MAME的,两者虽然有着一些显著的差异,不过在设置上,尤其是在液晶显示器上玩的时候,设置上是比较一致的,不同点只是GroovyMAME有一些更加高级的选项,可以更有效的降低输入延迟。

GroovyMAME的一些选项,也被官方MAME所采用,比如MAME 0.172增加了GroovyMAME作者Calamity提供的integer scaling(整数缩放比例)功能。MAME 0.182增加了GroovyMAME论坛的用户intealls所升级的PortAudio library,为Win7及以后的windows操作系统和Linux操作系统提供了低延迟的音频输出解决方案。

下面,综合我在GroovyMAME论坛学习到的知识,和我的一些个人经验体会,给出一些GroovyMAME的推荐设置方案,可以用来更为有效的降低输入延迟和音频输出延迟,其中的大部分选项,对官方MAME也适用:

1、全屏运行MAME游戏,不要在窗口中运行。

不要怀疑,MAME是个全屏专属程序,在全屏下运行的时候,MAME游戏的输入延迟会比较低。

2、如果可以的话,尽量不要打开Vsync(等待垂直同步)和三重缓冲选项。使用GroovyMAME的autosync功能来自动管理等待垂直同步和三重缓冲。

前两个选项会带来输入延迟。尽量不要打开这些选项,如果运行官方MAME,受不了画面撕裂,必须打开一项的话,那么就打开等待垂直同步。三重缓冲的延迟相对来说是比较高的。

3、Win7及以后的windows操作系统用户,尽量开启d3d9ex模式和Frame delay选项。

在前文已经说了,GroovyMAME的autosync、d3d9ex和Frame delay选项综合运用,减少画面撕裂、降低输入延迟的效果最为明显。

4、Win7及以后的windows操作系统和Linux操作系统的用户,建议使用PortAudio运行库来管理音频输出,并把音频等待时间调为1。

这是MAME 0.182新加入的选项,目前使用此运行库需要手动修改MAME的配置文件mame.ini。如果不会的话,我前一篇文章提供的GroovyMAME整合版已经打开此选项。手动开启的情况,请参考我在琵琶行论坛的发帖:http://f.ppxclub.com/672866-1-1

5、如果用户的液晶显示器不是支持144HZ显示功能甚至支持G-Sync、FreeSync的高价液晶显示器,那么尽量不要开启同步显示器刷新率和自动调整显示器刷新率选项。

普通液晶显示器的刷新率范围只有59-60HZ左右,而有些游戏的刷新率只有53或57等,如果开启上述选项也许会发生画面跳动等情况。

6、关闭一切图像增强选项,如HLSL或GLSL等图像增强效果和滤镜,只保留最基本的线性过滤效果。

HLSL等图像增强效果和滤镜等效果虽然比较好看,然而会增加输入延迟。

7、除了以上需要注意的选项,和一些如启动游戏作弊、跳过游戏信息画面等选项根据用户需要可以开启外,别的选项都建议保持默认状态,不建议更改。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2017-11-24 04:25:15 | 显示全部楼层
本帖最后由 燕市游徒 于 2017-12-5 00:28 编辑

GoovyMAME具有针对性的进阶设置和高端玩法

我们都知道,普通液晶LCD显示器,其基本刷新率是固定死的,一般在普通LCD液晶显示器的最佳分辨率中的最大刷新率,是在59——60hz之间。但是,MAME所支持的街机游戏可不都是这样的刷新率。街机游戏,特别是早期游戏,其刷新率差别很大。因为早年的街机游戏所配备的低解CRT式街机显示器,硬件规格非常杂乱,其刷新率可谓是千奇百怪。所以,尽管大部分游戏,包括最为街机一族所熟知的CPS1、2、3,和Neogeo,以及IGS PGM等基板在内,绝大部分的被MAME所支持的街机游戏的刷新率也都在59——60hz之间,但还是有很多街机游戏的刷新率不是在这个区间之内。

比如,街机名作雷电DX和零组特攻队2000的内置刷新率都在55.5hz左右。美版街机游戏代表作真人快打123系列的刷新率在54.5hz左右等等。如果玩家运行的是原版MAME模拟器,那么因为原版MAME的一些设置不是极为精确,和原版MAME所具有的比较强大的容错能力,在普通60hz液晶显示器上运行这些游戏,一样可以跑得比较平顺,但是仔细观察,画面卷轴也会稍有跳动和不稳定。而且,街机动作格斗游戏的各种人物和射击游戏的各种飞行器的影子,因为其是以跳跃插帧的技术方式来实现的半透明的显示效果,也会显得不是很平顺,会有很强的闪烁和跳跃感。


街机射击名作雷电DX的飞机阴影,如果显示刷新率不准确,会显得很闪烁


街机动作游戏名作三国战纪2原版的人物阴影,如果显示刷新率不准确,会显得很闪烁

但是一旦在对刷新率极为敏感的GroovyMAME上跑起上述这些游戏,因为GroovyMAME极为敏感,设置必须极为精准,游戏内置刷新率必须在和液晶显示器的基本刷新率完全一致的情况下,才能跑的很顺,否则会造成极大的视频卷轴的跳动、画面波动和声频的卡顿等糟糕的情况,凡此种种,不一而足。那么,要是你的LCD液晶显示器硬件就是局限在60hz左右,怎么才能跑顺上述这些内置刷新率不很标准的游戏呢?我也是在GroovyMAME论坛驻足爬文了很久,又在实践中摸索了很久,才找出一些还算是行之有效的解决方案。

准备工作1:

为了实现游戏内置刷新率和显示器刷新率的统一,有必要适当的自定义一些屏幕刷新率数值。因为虽然我们一般使用的都是最佳刷新率在59——60hz之间的液晶LCD显示器,不过这些LCD液晶显示器,在一定范围之内也是可以对其刷新频率做一定程度上的更改。截至目前,一般市售的液晶LCD显示器,大多都可以做到兼容显示出屏幕刷新率在54.5——61hz之间的图像。比如,我家的24寸普通MVA面板的LCD显示器,标榜滤蓝光和不闪屏的BenQ BL2410PT,和同样是MVA面板,标榜滤蓝光不闪屏的普通LCD 24寸液晶显示器BenQ EW2445ZH,都可以显示出在54.5——61hz范围之间的各个屏幕刷新率的图像。

而为了更改显示器刷新率,就需要显卡驱动程序的配合。目前,主流显卡主要分为由AMD公司生产的芯片制作的A卡,和由Nvidia公司生产的芯片制作的N卡两种。说句实话,GroovyMAME是一个专为A卡优化设计制作的模拟器软件,因为A卡的显示驱动更加灵活,非常便于GroovyMAME控制和使用各种不同的自定义分辨率以及刷新率的图像。不过,N卡也不是不能用GroovyMAME就是了,但是其显示效果恐怕要打个折扣。其实主流显卡中还有一部分是Intel公司的CPU自带的核显芯片,这些核显也被称为是I卡。不过,I卡和A、N两家的产品比起来,性能比较弱,所占市场份额也比较少。起码,我相信主要玩模拟器的广大模拟器玩家,大多也以拥有A、N卡的玩家才是主流,使用核显I卡玩模拟器的玩家,只怕是少之又少。如此情况之下,我下面便就只介绍一下用A卡和N卡各自的显示驱动自定义屏幕刷新率的方法。

话说回来,A卡和N卡,别看其设计理念大相径庭,不过它们的显示驱动都可以很简单的设定自定义屏幕刷新率数据。目前,我的手头没有N卡,不过,我以前在N卡微星GTX960上实际操作过自定义刷新率的全过程,还是有一定记忆的。所以我在网上找了一些图片,分别为繁体中文图片一套,和简体中文图片一套。两种语言的驱动程序的操作方法,大概的操作顺序是相差不大的,都标注的很详细,可以作为参考。





















至于A卡的自定义显示刷新率设置方法,我这里也截了几张图,以我的微星HD7850 HAWK显卡、A卡最新显示驱动程序和Win10 64位操作系统为例,来演示一下用A卡的显示驱动自定义屏幕刷新率的方法。








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2017-11-24 04:25:44 | 显示全部楼层
本帖最后由 燕市游徒 于 2017-12-3 07:35 编辑

GoovyMAME之超级秘奥义与超高端玩法

GoovyMAME最佳伴侣拍档:支持AMD FreeSync特效之A卡以及相应支持FreeSync特效之显示器的组合搭配GoovyMAME模拟器游戏评测感受
回复 支持 反对

使用道具 举报

签到天数: 806 天

[LV.10]以坛为家III

发表于 2017-11-24 07:02:42 | 显示全部楼层
呢波安利好!辛苦樓主啦!
回复 支持 反对

使用道具 举报

签到天数: 128 天

[LV.7]常住居民III

发表于 2017-11-24 07:31:26 | 显示全部楼层
大多数模拟器玩家玩个怀旧而已
并没那么多讲究
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2017-11-24 07:40:12 | 显示全部楼层
感谢分享
回复

使用道具 举报

该用户从未签到

发表于 2017-11-24 08:01:57 | 显示全部楼层
菲鲁塞迪 发表于 2017-11-24 07:31
大多数模拟器玩家玩个怀旧而已
并没那么多讲究

请不要随便的代表广大模拟器玩家。

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

签到天数: 16 天

[LV.4]偶尔看看III

发表于 2017-11-24 08:25:10 | 显示全部楼层
可惜平时无用,公司这台破电脑G41的显卡。。。现在下个新版的Mame都打不开。。。一个黑框闪过就88了
只能周末回家还能折腾下,不过一回家基本就不碰电脑,其它事情多
回复 支持 反对

使用道具 举报

签到天数: 354 天

[LV.8]以坛为家I

发表于 2017-11-24 08:26:27 | 显示全部楼层
謝謝分享
回复

使用道具 举报

签到天数: 73 天

[LV.6]常住居民II

发表于 2017-11-24 08:51:43 | 显示全部楼层
thank you 燕市游徒!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|琵琶行论坛 ( 赣ICP备12000882号  

GMT+8, 2017-12-13 01:59 , Processed in 0.029379 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表