复古控制台和仿真器上的输入延迟



TL; DR本文介绍了已知的输入滞后问题,当您尝试在现代硬件上玩旧游戏时,这种问题就很明显:复古控制台的模拟器,蓝牙游戏手柄等。 有时延迟如此之大,以至于无法播放。 我将描述寻找可以运行我喜欢的游戏的可接受配置的方式。

随着RaspberryPi单板计算机的流行,OrangePi的许多熟人都购买了捆绑包。 在不决定如何处理它们的情况下,他们开始根据RetroArch模拟器和Recallbox发行版从他们的复古控制台开始雕刻。 当我尝试以此玩自己喜欢的童年游戏时,我感到惊讶:“ 我怎么玩? ” 游戏的物理原理似乎有点不对,感觉令人恶心。 过了一会儿,他们告诉我,关键是输入延迟,乍一看,感觉就像其他物理学一样,并不是一个延迟。

事实证明,这个问题早已在控制台极客中广为人知,并且正在积极研究中。 我将分析其他人的研究,并尝试衡量安装过程的延迟。

怎么了


输入延迟是指从按下控制器上的按钮到屏幕上的字符反应到该时间为止的时间。 许多因素在这里起作用:

  • 监视器/电视延迟 -一些现代电视的图像输出延迟超过100毫秒。 这是由于图像,缓冲,滤镜等的后处理所致。 在这里,您可以看到具有高延迟的CRT和LCD电视的比较。 通常,监视器制造商在规格中指示矩阵的速度,这是指颜色之间的切换速度,但这与输出图像的延迟无关。

    来自两台电视机的机顶盒的一个模拟信号。 与CRT相比,液晶电视有明显的延迟。
  • 计算机延迟 -游戏机或带有仿真器的计算机不能立即处理信号,需要时间。 计算机需要从输入设备接收信号,对其进行处理并在屏幕上显示图像。 当在屏幕上显示时,图像的垂直同步也会引入延迟。 在这里 ,RetroArch开发人员尝试解决此问题。

    演示了模拟器上的大延迟。 视频丹尼斯专业
  • 控制器延迟 -输入设备可能还会引入延迟。 例如,如果通过蓝牙等连接到已加载的USB总线,

仿真器


每个人都希望在具有HDMI的现代硬件,普通电视和显示器上玩游戏,并希望在一台设备上运行所有可能的游戏。 为此,使用在普通X86或ARM计算机上运行的流行控制台的仿真器。 以下是最受欢迎的:

减速器



最受欢迎和最先进的模拟器。 能够模拟PlayStation1,SNES,NES,GameBoy,Sega Genesis / CD和其他控制台。 它可以在Windows,Linux,MacOS桌面操作系统以及Xbox,Android,PlayStation2 / 3/4 / Vita,Nintendo Wii / Switch等现代控制台上运行。 在此基础上,制作了流行的Recallox分发工具包。⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

Openemu


图片
适用于macOS的非常方便和简单的模拟器。 它支持大多数流行的游戏机,并具有按平台分类的便捷游戏库。 开箱即用,它通过蓝牙支持playstation 4游戏手柄。 它的功能不如RetroArch,但就我的口味而言,它使用起来更加方便。 对于我的测量,我将使用它,因为它可以立即在macOS上运行,而无需费心使用游戏手柄设置。

测量程序


测量延迟的最经济的方法是在视频屏幕上以及按下操纵杆按钮的那一刻进行记录。 现代智能手机可以轻松以240 FPS或更高的速度拍摄视频,这足以进行测量。 为了准确记录按下的时刻,您可以将LED焊接到按钮的触点上,按下时该指示灯会亮起。 LED灯以纳秒为单位点亮,从而使您可以准确地捕获压紧时刻。

libretro项目论坛的Brunnis在输入延迟方面做了很多研究 。 我认为他的研究是最完整和最客观的。

图片
带焊接LED的USB游戏手柄可捕捉按下按钮的瞬间

图片
未按下按钮

图片
按下按钮

图片
屏幕动画在24帧(100毫秒)后开始

计算公式


在1000毫秒内。
手机的相机以240fps的速度拍摄。
因此,一帧视频= 1000/240 = 4.16ms。

考虑显示器和计算机的运行帧速率也很重要。 例如,对于30fps的操作模式,监视器的一帧为33ms,对于60fps-17ms。 必须考虑到这一点,因为帧之间的时间不能小于这些值,这意味着在监视器的帧更新期间发生的事件将四舍五入到最后一帧。

在此,我将不提供对花花公子的所有测量结果,这些人有意建议自己结识。
要记住的主要事情:原始控制台的平均延迟为50到70ms,这取决于控制台和PAL / NTSC模式。 调试良好的PC仿真器会增加60-80ms的延迟,具体取决于仿真平台。 树莓派仿真器总共可能具有150ms的延迟。

我的搜寻


小时候,我玩过Sega Mega Drive,正是她的游戏引起了最强烈的怀旧感。 因此,我将描述为该控制台寻求舒适安装的搜索。 我想马上说我的研究并不是绝对的测量精度。

我的要求:

  • 无线游戏手柄 -控制台极客可能会谴责我,但我想坐在沙发上的任何位置时都能舒适地玩游戏。 有线游戏手柄非常不便,每个人都为它们感到痛苦,而且您将无法长时间玩游戏。
  • 通过HDMI或DisplayPort输出 -显示器上没有模拟输入,因此我无法购买原始的Sega Mega Drive。 用于模拟视频捕获的USB适配器会带来延迟,并且很不方便。 我也不想为机顶盒单独购买CRT-TV

Macbook + Dualshok 4 + OpenEMU


我真的很喜欢Playstation 4中的gamestation,我认为它是现有游戏手柄中最方便的。 它可以通过蓝牙和USB一起工作。 开箱即用,无需设置即可完全支持OpenEMU。


尽管OpenEMU十分方便,但其主要问题是全屏模式下的FPS缩减。 我不确定是什么原因,也许这已经解决了,但对我来说并没有解决。 因此,我以窗口模式播放。


OpenEMU仿真器界面。 所有游戏均按平台分类。

测量值


我不想将Gamestation与Playstation分离以焊接LED,所以我不得不对声音被按下的时间进行倒计时。 该方法的误差约为8-10ms。 显示器使用通过DisplayPort连接到MacBook的4K @ 60fps模式下的LG 24UD58。 游戏魂斗士。


在通过蓝牙连接Dualshock4控制器的MacBook上,延迟约为150毫秒。 好多啊!
MacBook + Dulashock提供大约150毫秒的延迟。 对于一款舒适的游戏来说,这是很多事情,这种延迟是显而易见的,而像Contra Hard Corps这样的硬核平台游戏玩家则感到不舒服。
尽管这样一个捆绑中的延迟实在是不可原谅的大,但它仍然应享有生命权。 由于将游戏手柄放在背包中的笔记本电脑上就足够了,并且可以在任何地方使用游戏机。 甚至在进行测量之前,对我来说这显然不是最佳选择,我继续进行搜索。

克隆世嘉创世纪


现在,出售了带有预装游戏的许多不同版本的复古游戏机海盗副本。 其中一些是由内置机顶盒模拟器的Android机顶盒组成的,这意味着它们同样会遇到延迟问题。 但是有些人承诺没有仿真器的完整控制台。 我在Avito上发现了用于修剪的控制台: retrogenesis.ru模型Retro Genesis HD Ultra。 他们在网站上写道,这不是仿真器,但实际上是一个硬件控制台。 有预装的游戏和插入墨盒的功能。 同时,还有一个HDMI输出和无线游戏手柄!


无线游戏手柄


最重要的是,我为2.4GHz的游戏手柄所困扰。 了解蓝牙和WiFi在此范围内的问题后,我尝试做的第一件事就是测量游戏手柄本身的延迟。 该控制台支持同时连接有线和无线游戏手柄。 事实证明,无线部件是使用单独的模块制成的,该模块以与有线游戏手柄相同的方式闭合触点。 也就是说,实际上,它模拟具有相同引脚排列的普通有线连接器。

图片
模拟有线游戏手柄点击的无线电模块

我将示波器探头1连接到控制器上的LED,另一个连接到与控制台上的Up键相对应的引脚。 当无线电模块处理信号时,它会模拟一个按键,并且我会在探针2上看到它。通过比较信号1和2之间的时间差,我可以非常准确地获得无线游戏手柄增加的延迟。 在示波器上,一个单元的大小为5ms,这意味着无线游戏手柄的延迟为25ms。


游戏手柄和游戏机上信号的比较


无线模块增加了25ms的延迟

测量值



Sega Retro Genesis的延迟约70毫秒

减去无线电模块的25ms延迟,结果表明控制台本身的延迟为50ms,这与原始的Sega相对应。 连接有线游戏手柄时,延迟显然会减少25ms。 通常,游戏的感觉就像在原始游戏机上一样,我很满意。 只是无法下载游戏(ROM)令我不高兴,但我将尝试使用可擦写的墨盒解决此问题,或者尝试自己寻找机会将游戏上传到内置闪存驱动器。

结论


我的测量没有考虑监视器的输出延迟,但是所有测量都是在同一监视器上进行的,因此不会影响结果。 每次测量我都会重复10次,有时读数范围会扩大到约4帧,即16毫秒。 我认为关键是在控制台上形成映像时垂直同步的延迟。

总的来说,我认为我的测量结果可以大致了解这两种设置的延迟情况,这可能对选择一种方法的人有用。

RetroArch上的Runahead选项


一年前,RetroArch开发人员宣布与原始控制台相比,他们在模拟器上实现的延迟更少。 我自己没有尝试过此选项,但必须牢记。

参考文献


感谢Denis Major的研究。 多亏了这段视频,我首先发现问题不在于游戏的物理特性,而在于输入延迟。

关于跨平台延迟的大量研究

另一项研究

Pro Hux空间神经元



在我们的Hackspace Neuron中,我们定期演奏复古的调音台,扭转铁杆并做许多其他事情。 在我们这里,您可以使用烙铁,示波器,频率分析仪并与有趣的书呆子聊天。 快来看

有关电报频道中Huxpeys生活的所有新闻: @neuronspace

Source: https://habr.com/ru/post/zh-CN446990/


All Articles