理论:什么是及为什么要点对点显示

对于复古游戏,比如 NES、GBA 平台游戏,分辨率的设置和游戏设备的物理分辨率是很重要的,因为这些游戏在设计时严格依赖于原始分辨率,不像现代游戏考虑了在不同分辨率下的显示。

为了获得原始游戏的视觉体验,我们需要点对点显示,即原始游戏的一个像素对应屏幕的一个或多个像素,比如以 2 倍原始游戏分辨率显示,一个原始游戏的像素就对应 4 个屏幕像素,这样可以避免像素间的模糊和失真,同时确保了图像的长宽比和原始游戏一致,也就不会出现图像被不成比例地拉伸和压缩。如果你的游戏设备分辨率足够高,比如达到 1080P 甚至更高,那么保持长宽比更加重要,这样可以保证图像不会被不成比例地拉伸和压缩,因为分辨率足够高所以即使像素不是点对点对显示的,在锐化的帮助下效果影响也会有限甚至微乎其微,这就和分辨率足够高你就看不到锯齿了有点类似,但是图像比例不对了看上去就很别扭。

让我们来实际举一个例子,下图是一些复古游戏平台和掌机分辨率,比如我们想用 RG35XXP 来玩 NES 游戏,我们可以让 NES 游戏以最大整数倍分辨率运行,在这种情况下是 2 倍分辨率。想要获得更原始的游戏体验我们不能让 RG35XXP 全屏显示游戏,因为 NES 游戏的长宽比是 16:15 而 RG35XXP 的长宽比是 4:3,如果全屏显示游戏,游戏画面就会被不成比例地拉伸到 4:3。当我们以 2 倍分辨率并且保持长宽比的方式运行,虽然会在 RG35XXP 屏幕左右侧留下一些黑边,但是这样会获得更好的显示效果。

图片是 SVG 格式的,在新标签中打开图片然后放大显示效果更好。
复古游戏平台和掌机分辨率

所以游戏设备的选择也是很重要的,一般是你想玩什么平台的游戏然后选择对应的游戏设备比较好。比如你用 16:9 的机器去玩 16:15 的游戏,注定会在屏幕两边留下大块黑边,这里仅仅用长宽比举例,选择游戏设备的时候还要考虑点对点显示问题。笔画更多

实践:在 RG35XXP 上使用 RetroArch 将 NES 游戏设置为点对点显示

进入游戏之后,默认是全屏显示的,画面被一定程度的拉伸了,并且也不是点对点显示,虽然默认的着色器会对画面进行锐化,但是效果肯定赶不上点对点显示。以下三张图片我们将其作为典型代表,让我们一一进行比较,我们可以观察游戏画面右边的文字更容易看出差别:

  • 第一张和第二张对比:锐化有一定的作用,从「谋略」这两个的字上看到,第二张图片涂抹感更严重,第一张图片更加清晰了一些,文字的粗细也更加统一
  • 第一、二张和第三张对比:第一、二张图片中的文字看起来被拍扁了,而第三张图片中的文字比例更正常,这就是画面被不成比例拉伸的关系
  • 第一张和第三张对比:我们看到即使开启了锐化,画面的清晰度和干净度画还是点对点显示更好,即使这样会浪费掉一些屏幕空间,所以为什么我们在理论部分中说到先选择玩什么游戏再选择对应的游戏设备,不然大量的屏幕空间会被浪费掉

第一张:全屏显示,并且开启了着色器锐化
tenchi-wo-kurau-2-game-screen-with-full-screen-display-and-shader

第二张:全屏显示,并且关闭了着色器
tenchi-wo-kurau-2-game-screen-with-full-screen-display

第三张:2 倍原始游戏分辨率点对点显示,并且关闭了着色器
tenchi-wo-kurau-2-game-screen-with-pixel-perfect-display

下面我们看看如何在 RetroArch 上完成点对点显示的配置,进入游戏之后按 MENU + X 键进入 RetroArch 的配置页面,这时候进入的配置页面是 Quick Menu,我们按 B 退回上级菜单之后的页面是 Main Menu。

  • 关闭着色器:Main Menu → Quick Menu → Shaders → Video Shaders → 将其关闭

    retroarch-config-screen-with-video-shaders-on retroarch-config-screen-with-video-shaders-off

  • 设置整数倍缩放:Main Menu → Settings → Video → Scaling → Integer Scale → 将其开启

    retroarch-config-screen-with-integer-scale-off retroarch-config-screen-with-integer-scale-on

  • 设置画面比例:Main Menu → Settings → Video → Scaling → Aspect Ratio → 选择对应的比例,比如 NES 游戏使用 16:15

    retroarch-config-screen-with-aspect-ratio-full retroarch-config-screen-with-aspect-ratio-16-to-15

  • 保存配置:Main Menu → Quick Menu → Overrides → Save Core Overrides → 点击即可,下面会提示你保存成功,Active Override File 中也会提示你当前加载的配置文件是哪个。我是保存为核心配置了,这样只要加载这个核心就会加载当前的配置,你也可以保存为其它的配置,比如 Save Game Overrides,这样之后当加载当前游戏的时候才会加载这个配置。如果不保存配置,以上的配置更改只在当前有效,退出 RetroArch 后就失效了

    retroarch-config-screen-with-save-core-overrides retroarch-config-screen-with-save-core-overrides-saved-successfully

祝大家看得开心,玩得快乐!