为什么游戏要求屏幕分辨率而不是自动调整窗口大小?


32

在我看来,在3d或2d屏幕上实施灵活的,响应式的UI布局会更加合乎逻辑,可重用且易于使用,然后可以在任何屏幕分辨率下运行。

某些现代游戏会自动检测屏幕分辨率并调整游戏分辨率,但是更改分辨率的选项仍保留在设置中。

为什么会有这个选项?

我的猜测是,这是为旧机器提供一种方法,即通过渲染较少的图形并仅在屏幕上拉伸它们来提高性能,但是肯定有更好的方法来提高性能(例如,选择不同的纹理和模型质量) 。


1
除了这里所说的,我认为有些游戏还选择了最低分辨率的“安全”之一:几乎所有的硬件配置都支持它,因此游戏开始时不会崩溃,然后用户可以在游戏中更改分辨率。
MicroVirus

@MicroVirus这是我的第二个,从一个安全且可能启动的模式开始,这是一个非常可变的功能的好计划。

4
在我看来,在3d或2d屏幕上实施灵活的,响应式的UI布局将更加合乎逻辑,可重用且用户友好 ”-在您看来,但实际上,这样做通常更容易,更便宜。
极好的

@Superbest:作为反驳,《魔兽世界》切换到了“固定大小的逻辑UI”(ish)。用户界面高度为768个“缩放像素”,且宽度与宽高比合适:wowwiki.com/UI_coordinates (通常为1024x768、960x768或1229x768)
Mooing Duck

可能响应式UI布局很好,其中游戏不需要每分钟的高动作。我知道有些《魔兽争霸》和《星际争霸》玩家更喜欢固定布局,这样他们就可以利用自己的肌肉记忆力。
太阳

Answers:


51

这使用户可以选择游戏的质量与性能。有些人喜欢在较低的分辨率下使用高质量的图形设置,其他人则相反。有些计算机可以处理所有内容的最大设置,有些则不能。

出于同样的原因,具有同类硬件的设备(PlayStation,Xbox,iPhone ...)通常不提供图形设置。


4
值得注意的是,某些游戏的性能高度取决于屏幕分辨率。如果效果不佳,请尝试降低游戏的分辨率,以查看情况是否如此。
user1306322 2014年

1
同样值得注意的是,降低分辨率将解决由于GPU填充率和着色器吞吐量不足而导致的性能瓶颈。着色器质量并不总是与分辨率相关,但是对于环境光遮挡,抗锯齿和其他边缘检测而言,它可能是正确的!
2014年

29

无法完全可靠地检测出正确的屏幕分辨率。

一种方法是简单地保留用户的桌面分辨率。这很烦人,因为我知道很多人(有些人有视觉障碍)喜欢以较低的分辨率运行桌面以使外观看起来更大,但仍然喜欢以原始分辨率玩游戏,在这种情况下,较小的文字和细节很少且较少危急。

另一种方法是查询显示器的支持模式列表。这同样是不可靠的:某些监视器没有提供模式列表或提供了错误的模式列表。有些提供比原始分辨率更高的分辨率,它们能够在降低性能的同时降低采样率。

在某种程度上,您的问题适用于游戏提供的任何设置。“为什么我应该问用户什么时候才能猜出最适合他们的呢?” 当我可以检测到他们的硬件时,为什么会问他们有关质量设置的问题?如果我知道这款游戏的最佳外观,为什么还要问FOV?如果他们的计算机可以处理,为什么要让用户拒绝AA?这个更普遍的问题突出了真正的答案,它是双重的:

您的猜测有时是错误的,因为您不一定总能获得正确的硬件信息来做出良好的猜测。如果用户的图形卡出现故障,导致计算机以特定的分辨率崩溃,而又不允许他们禁用它,该怎么办?您的游戏现在对他们毫无用处。另外,用户喜欢选择。也许有人喜欢以非本机分辨率播放的模糊外观,即使它是“错误的”。也许他们有一台支持多种分辨率的CRT监视器,而最佳分辨率不是最高,或者较低的刷新率。

实际上,您无法根据计算机中的信息准确地判断用户想要什么,也无法准确地判断哪种方法最有效。最好由用户(知道自己的计算机)决定。

(请注意,我在这里只介绍了PC。控制台是另外一回事了,但其他人已经介绍过。)


17
+1; 这在没有给我伽马滑块(或至少是亮度设置)的游戏中让我特别烦恼。很高兴您找到了可以让您显示器上的游戏看起来最漂亮的外观,但是您的显示器不是我的显示器,而且我@%&$ ing讨厌看不见的黑暗环境。我不在乎黑与黑是否是您的隐形级别的“要点”,我想看看我在做什么。
Brian S

1
“如果用户的图形卡出现故障会导致计算机以一定的分辨率崩溃,而您不会让他们禁用它,那该
怎么办

您可以非常可靠地检测到本机分辨率,而台式机的分辨率是一个很好的指标。几乎每个人都在本机资源上运行该程序,这至少是一个很好的起点。但是,这并不意味着您不应该提供更改它的选项。对于我当前的项目,全屏只能在本机(桌面)分辨率下工作,并且如果人们出于任何原因要降低全屏分辨率,则可以进入窗口模式,否则它将更改背面渲染目标尺寸并仅拉伸显卡它。
Programmdude

2
我最近有过一次Beta版测试的经验,该游戏由于尚未发布而无法命名,它会代替适当的图形设置自动检测用户的屏幕分辨率。结果非常糟糕,以至于很多测试人员无法完全玩游戏,开发人员建议的解决方法是更改显示器的屏幕分辨率或刷新率,甚至对所有人都不起作用。值得庆幸的是,这种自动检测功能仅是Beta版的一部分,并且最终游戏被认为具有屏幕分辨率选项。
BoltClock

@BoltClock我完全理解,我自己的显示器(相当高端的Dell ultrasharp)报告了一个虚假的模式列表,如果软件只是寻找最高的模式并显示它,或者我得到怪异的图形工件,或者根本不显示。

7

允许用户控制游戏设置的原因有很多种。

  • 如今,许多人有2个(或更多)监视器。用户应该能够确定要玩哪个游戏。
  • 用户可能会使用成千上万种不同的设备,并且无法可靠地分辨出哪种设置对每个设备都是最佳的。
  • 一些用户可能更喜欢“最佳”设置,原因从更好的游戏性能到视力不佳(较低的分辨率=较大的文字!)。
  • 一些用户可能更喜欢在窗口中玩游戏,因此他们可以在游戏同时显示其聊天框,演练,音乐播放器或其他程序。

也就是说,许多游戏会自动检测,然后将初始设置设置为您认为机器可以处理的最佳设置。


1
除窗口模式外,是否有任何游戏可让您选择要在哪个显示器上运行?我已经担任过多个显示器专家多年,从来没有回想起可以选择在我的主显示器之外的其他设备上运行的全屏游戏。
Dan Neely 2014年

我不记得具体情况,但是我至少有几个游戏可以接管我的辅助显示器,并且偶尔会有一些游戏更改了我的显示器设置...如果我的显示器分辨率不是默认...嗯,这可能是有原因的。
阿什卢姆2014年

2
我看过很多游戏都带有此选项,通常在菜单中称为“显示适配器”。《 EVE Online》就是一个例子。
2014年

5

这是因为纹理质量,几何细节和屏幕分辨率的成本和效果非常依赖于硬件。

纹理质量通常不会对渲染管线的速度产生太大影响,而仅在从GPU内存读取纹理质量时才起作用。如果并非所有纹理都适合GPU内存,则需要从普通RAM读取它们,或者甚至从硬盘缓存中读取它们,这会对性能产生负面影响。减少几何形状*并忽略昂贵的效果**并没有太大帮助。但是,当渲染管道的执行速度成为瓶颈时,降低纹理分辨率也无济于事。

顶点着色器通常不受输出分辨率的影响。减轻其负担的唯一方法是减少场景中3D模型的质量和数量。

但是,任何像素着色器仍会根据屏幕上的像素数量线性缩放。降低屏幕分辨率仍然是提高性能的重要工具。水平和垂直分辨率只有一半,这意味着您只有四分之一的像素着色器调用。

与较早的CRT显示器相反,现代的LCD或等离子屏幕具有自然的像素分辨率。当它们以不同分辨率馈送视频流时,需要进行插值。有些插值比其他插值要好得多,这意味着以较低的分辨率运行它们并不会降低图像质量,而其他监视器在未使用其本机解决方案运行时确实看起来很糟糕(我拥有的第一个LCD屏幕使用了最近邻插值,看起来很恐怖。从我目前的屏幕,这是很难说的时候他们不正确的分辨率下运行)。

游戏引擎无法知道用户的监视器插值的程度,因此最好留给用户选择以减少纹理和几何细节或降低屏幕分辨率。

*)OK,降低几何形状可以帮助一点,因为顶点也消耗GPU内存。

**),当然,除非省略这些效果意味着不再需要某些纹理


1
只是挑剔:CRT具有“点距”,这意味着它们确实具有本机分辨率。CRT中的磷光体具有衰减时间,这意味着CRT也具有理想的刷新率。
Zan Lynx

@ZanLynx但是据我所知,不可能像使用LCD那样使逻辑扫描线与CRT的物理阴影掩模元素完美对齐。
达米安·耶里克

2

不仅预定义的分辨率设置使以某种方式对性能做出反应成为可能,而且创建适合所有分辨率,比率和dpi的通用方法也很难创建。

如果仅创建几个不同的分辨率,则用户会担心选择最佳查找对象(尤其是在其分辨率/比率不正常时)。如果您进行一种通用设计,则有责任使游戏在所有设备上都看起来完美(在当今的手机上可能尤其困难,尤其是在iOS上,而不是在配备多种设备的其他平台上,尤其如此)。


2

附加原因:不断变化的环境。

1080现在是标准配置,但不是5年前。4k正在进入图片,直到6k / 8k / 1080k(或其他任何东西)进入图片需要多长时间?在一台使用1280x720分辨率的8年旧计算机上玩游戏怎么样?1024x768?640x400?

我的显示器支持4k原生,但是会阻塞所需的带宽,最大速度为30fps。让我切换到1080(或更低),以使游戏以60fps的速度运行,并且文本/ hud / etc不是微观的。

(另外:请给我窗口化/最大化窗口化,这样我就可以轻松地四处浏览)


3
1080k ...这是1080p显示器中像素数量的100万倍。那是2万亿像素,需要至少8TB的VRAM,并且需要大约4000 TB / s的驱动力。我真的很想看到这样的显示器,以及它所消耗的电量...
Panda Pajama 2014年

0

我的猜测是,这是为旧机器提供一种方法,即通过渲染较少的图形并仅在屏幕上拉伸它们来提高性能,但是肯定有更好的方法来提高性能(例如,选择不同的纹理和模型质量) 。

这不是那么简单。游戏在我的机器上运行缓慢,因为它卡在了片段处理上(可能有很多粒子效果,例如烟雾)。从这里降低模型质量不会占用太多的负担,也不会降低纹理质量。另一方面,降低分辨率会大大降低此处的负载(从1920x1080切换到1366x768可使处理的像素数减少一半)。

而且,如果我的屏幕恰好很大(例如电视)(就像我当前的设置一样-我假装我的PC是更大的xbox)-那么,在给定的观看距离下,更大的分辨率不会给我太多。因此,我有充分的理由降低分辨率,甚至可以使用额外的处理能力来获得更详细的照明或阴影。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.