在我看来,在3d或2d屏幕上实施灵活的,响应式的UI布局会更加合乎逻辑,可重用且易于使用,然后可以在任何屏幕分辨率下运行。
某些现代游戏会自动检测屏幕分辨率并调整游戏分辨率,但是更改分辨率的选项仍保留在设置中。
为什么会有这个选项?
我的猜测是,这是为旧机器提供一种方法,即通过渲染较少的图形并仅在屏幕上拉伸它们来提高性能,但是肯定有更好的方法来提高性能(例如,选择不同的纹理和模型质量) 。
在我看来,在3d或2d屏幕上实施灵活的,响应式的UI布局会更加合乎逻辑,可重用且易于使用,然后可以在任何屏幕分辨率下运行。
某些现代游戏会自动检测屏幕分辨率并调整游戏分辨率,但是更改分辨率的选项仍保留在设置中。
为什么会有这个选项?
我的猜测是,这是为旧机器提供一种方法,即通过渲染较少的图形并仅在屏幕上拉伸它们来提高性能,但是肯定有更好的方法来提高性能(例如,选择不同的纹理和模型质量) 。
Answers:
这使用户可以选择游戏的质量与性能。有些人喜欢在较低的分辨率下使用高质量的图形设置,其他人则相反。有些计算机可以处理所有内容的最大设置,有些则不能。
出于同样的原因,具有同类硬件的设备(PlayStation,Xbox,iPhone ...)通常不提供图形设置。
无法完全可靠地检测出正确的屏幕分辨率。
一种方法是简单地保留用户的桌面分辨率。这很烦人,因为我知道很多人(有些人有视觉障碍)喜欢以较低的分辨率运行桌面以使外观看起来更大,但仍然喜欢以原始分辨率玩游戏,在这种情况下,较小的文字和细节很少且较少危急。
另一种方法是查询显示器的支持模式列表。这同样是不可靠的:某些监视器没有提供模式列表或提供了错误的模式列表。有些提供比原始分辨率更高的分辨率,它们能够在降低性能的同时降低采样率。
在某种程度上,您的问题适用于游戏提供的任何设置。“为什么我应该问用户什么时候才能猜出最适合他们的呢?” 当我可以检测到他们的硬件时,为什么会问他们有关质量设置的问题?如果我知道这款游戏的最佳外观,为什么还要问FOV?如果他们的计算机可以处理,为什么要让用户拒绝AA?这个更普遍的问题突出了真正的答案,它是双重的:
您的猜测有时是错误的,因为您不一定总能获得正确的硬件信息来做出良好的猜测。如果用户的图形卡出现故障,导致计算机以特定的分辨率崩溃,而又不允许他们禁用它,该怎么办?您的游戏现在对他们毫无用处。另外,用户喜欢选择。也许有人喜欢以非本机分辨率播放的模糊外观,即使它是“错误的”。也许他们有一台支持多种分辨率的CRT监视器,而最佳分辨率不是最高,或者较低的刷新率。
实际上,您无法根据计算机中的信息准确地判断用户想要什么,也无法准确地判断哪种方法最有效。最好由用户(知道自己的计算机)决定。
(请注意,我在这里只介绍了PC。控制台是另外一回事了,但其他人已经介绍过。)
允许用户控制游戏设置的原因有很多种。
也就是说,许多游戏会自动检测,然后将初始设置设置为您认为机器可以处理的最佳设置。
这是因为纹理质量,几何细节和屏幕分辨率的成本和效果非常依赖于硬件。
纹理质量通常不会对渲染管线的速度产生太大影响,而仅在从GPU内存读取纹理质量时才起作用。如果并非所有纹理都适合GPU内存,则需要从普通RAM读取它们,或者甚至从硬盘缓存中读取它们,这会对性能产生负面影响。减少几何形状*并忽略昂贵的效果**并没有太大帮助。但是,当渲染管道的执行速度成为瓶颈时,降低纹理分辨率也无济于事。
顶点着色器通常不受输出分辨率的影响。减轻其负担的唯一方法是减少场景中3D模型的质量和数量。
但是,任何像素着色器仍会根据屏幕上的像素数量线性缩放。降低屏幕分辨率仍然是提高性能的重要工具。水平和垂直分辨率只有一半,这意味着您只有四分之一的像素着色器调用。
与较早的CRT显示器相反,现代的LCD或等离子屏幕具有自然的像素分辨率。当它们以不同分辨率馈送视频流时,需要进行插值。有些插值比其他插值要好得多,这意味着以较低的分辨率运行它们并不会降低图像质量,而其他监视器在未使用其本机解决方案运行时确实看起来很糟糕(我拥有的第一个LCD屏幕使用了最近邻插值,看起来很恐怖。从我目前的屏幕,这是很难说的时候他们不正确的分辨率下运行)。
游戏引擎无法知道用户的监视器插值的程度,因此最好留给用户选择以减少纹理和几何细节或降低屏幕分辨率。
*)OK,降低几何形状可以帮助一点,因为顶点也消耗GPU内存。
**),当然,除非省略这些效果意味着不再需要某些纹理
附加原因:不断变化的环境。
1080现在是标准配置,但不是5年前。4k正在进入图片,直到6k / 8k / 1080k(或其他任何东西)进入图片需要多长时间?在一台使用1280x720分辨率的8年旧计算机上玩游戏怎么样?1024x768?640x400?
我的显示器支持4k原生,但是会阻塞所需的带宽,最大速度为30fps。让我切换到1080(或更低),以使游戏以60fps的速度运行,并且文本/ hud / etc不是微观的。
(另外:请给我窗口化/最大化窗口化,这样我就可以轻松地四处浏览)
我的猜测是,这是为旧机器提供一种方法,即通过渲染较少的图形并仅在屏幕上拉伸它们来提高性能,但是肯定有更好的方法来提高性能(例如,选择不同的纹理和模型质量) 。
这不是那么简单。游戏在我的机器上运行缓慢,因为它卡在了片段处理上(可能有很多粒子效果,例如烟雾)。从这里降低模型质量不会占用太多的负担,也不会降低纹理质量。另一方面,降低分辨率会大大降低此处的负载(从1920x1080切换到1366x768可使处理的像素数减少一半)。
而且,如果我的屏幕恰好很大(例如电视)(就像我当前的设置一样-我假装我的PC是更大的xbox)-那么,在给定的观看距离下,更大的分辨率不会给我太多。因此,我有充分的理由降低分辨率,甚至可以使用额外的处理能力来获得更详细的照明或阴影。