Batocera使用4K和超宽显示器进行仿真问题

Batocera使用4K和超宽显示器进行仿真,或者在屏幕未完全显示时出现问题

较旧的8位和16位系统,或80年代和90年代的街机系统都使用4:3 CRT屏幕。现在,现代显示器的尺寸为16:9或更宽,可以达到4K,即2160像素高(当时为480或546!)。

要在屏幕上渲染这么多的像素会影响系统性能。当您使用4K屏幕或超宽屏时,Batocera默认将分辨率限制为HD 1920×1080。渲染仿真器(甚至是最新的仿真器)已绰绰有余。但是,当您使用超宽显示器时,显示会被拉长。

对于4K显示器,由于默认情况下分辨率已调整为1920×1080,因此您可能会看到类似这样的屏幕-实际上就是1920×1080,以3840×2160屏幕为中心:


为了覆盖整个屏幕,最好的解决方案是将VIDEO MODE设置为1920×1080-您可以在PER SYSTEM ADVANCED CONFIGURATION屏幕中逐个系统地进行设置。

另一个用例是,例如,您有一台1280×720的电视,并且您想要使用专为1920×1080设计的边框。Batocera 5.27可以自动调整边框的大小,但是有时您需要强制“视频模式”采用1280×720的分辨率。

如果您出于任何原因绝对想要使用4K分辨率(阴影看起来更好,您的电视/显示器上都有非标准的宽格式...),您也可以强制使用STRETCH BEZEL选项。同样,您可以在逐个系统的基础上执行此操作。警告这会影响仿真性能。

当EmulationStation在4K电视上感觉迟钝时

在某些SBC + TV组合中,EmulationStation感觉很慢(默认主题似乎落后,刷新率约为10 FPS)。这实际上取决于您自己的配置,但是我们已经用Raspberry Pi4和几个4K电视模型重现了这一点。默认情况下,ES应该与您的电视协商以将其分辨率固定为1080p,但是有时您的电视品牌不接受它,而是将其保持在4K / 2160p分辨率。

在这种情况下要强制1080,请编辑batocera.conf并添加一行:

system.es.maxresolution = 1920x1080

不过,对于大多数电视来说,这不是必需的,并且可以将默认模式设置为es.maxresolution=0(或仅注释掉或删除 batocera.conf)。

它是如何工作的?

您可以通过如上所示的ES来做到这一点,但也可以通过调整系统batocera.conf来提高纵横比。

1.输入以下命令,了解系统+电视组合上可用的分辨率batocera-resolution listModes:

# batocera-resolution listModes

0:2560x1440 60Hz

1:2560x1080 60Hz

2:1920x1080 60Hz

3:1920x1080 60Hz

4:1920x1080 60Hz

5:1920x1080 60Hz

6:1920x1080 60Hz

7:1920x1080 50Hz

8:1920x1080 50Hz

9:1680x1050 60Hz

10:1600x900 60Hz

11:1280x1024 75Hz

12:1280x1024 60Hz

13:1440x900 60Hz

14:1280x720 60Hz

15:1280x720 60Hz

16:1280x720 50Hz

17:1024x768 75Hz

18:1024x768 60Hz

19:800x600 75Hz

20:800x600 72Hz

21:800x600 60Hz

22:720x576 50Hz

23:720x576 50Hz

24:720x480 60Hz

25:720x480 60Hz

26:720x480 60Hz

27:720x480 60Hz

28:640x480 75Hz

29:640x480 60Hz

30:640x480 60Hz

31:720x400 70Hz

2.然后,从列表中选择要强制执行RetroArch的模式。例如,如果我想强制2560×1080使用仿真器,则可以添加以下内容batocera.conf:

global.videomode = 1

然后,仿真器将从上面的列表中全部选择模式1 = 2560×1080,作为其屏幕分辨率。如果我只想为特定的仿真器选择特定的分辨率,则可以使用例如来实现n64.videomode=1。

Batocera 5.27和更高版本将通过在侧面添加黑色边框来自动将1920×1080边框的尺寸调整为超宽。它还会将全高清1080边框的尺寸调整为支持高清720p的尺寸。

3. EmulationStation忽略此参数。如果要将ES设置为特定的分辨率,则需要在脚本/etc/init.d/S31emulationstation中用专用batocera-resolution setMode XX行编辑并添加所需的分辨率:

cd /userdata # es need a PWD

batocera-resolution setMode 1

HOME=/userdata/system LANG="${settings_lang}.UTF-8" SDL_NOMOUSE=1 /usr/bin/emulationstation --no-splash &

不要忘记batocera-save-overlay在重新启动后保留它。

4.如果您要求4K 3840×2160分辨率,但边框为HD 1920×1080,则默认情况下,batocera将在边框周围添加黑色边框,如上图所示。如果希望全屏显示,则可以:

切换到较低的分辨率(例如1920×1080)

mame.bezel_stretch=1在您batocera.conf要拉伸的每个仿真器中添加一行。或者,global.bezel_stretch=1如果您想启用拉伸至本机4K分辨率。警告这会影响仿真性能。

你可能感兴趣的:(Batocera使用4K和超宽显示器进行仿真问题)