主页 > 游戏 > 正文

救救键盘吧!游戏画面卡顿原因的甩锅大会

2019-04-15 09:14暂无阅读:916评论:0

【PConline 杂谈】对于恢弘玩家们而言,影响游戏体验的一大元凶,就当属卡顿和画面扯破了,稀奇是在玩动作游戏时,卡顿影响施展的情形让人想要砸键盘——我依稀记得,曾经玩《阿卡姆之城》最高难度因为机能不成掀桌子砸键盘的黑汗青,那种按下按键过了快要一秒才能获得回应的体验让人无比的光火(但最后照样硬着头皮打穿了,二十多帧的游戏体验,为什么要跟键盘过不去呢,不如去换电脑...)。

其实,造成这一切的,不单单只是硬件水平的问题,好比说,同样的硬件,驱动版本有问题的话,也会影响机能的施展,而卡顿的示意也不只有帧率低的情形,高帧率卡顿的情形也会影响游戏的示意,判袂卡顿的方式,除了看帧率外,还能够经由帧时间分辨。

帧率是口锅,什么都能装

“哎呀,又掉帧了”,一样碰到游戏卡顿人人都邑这么说,但对另一些同窗来说,帧率却仍然是一个非常生疏的名词——游戏卡顿,和掉帧有什么关系呢?

事实上,帧率指的是平均一秒内,游戏更新显露了几多张“画面”——同动画和片子一般,游戏呈现给玩家的体式,也是经由快速的画面更迭来实现动态的画面的——这是行使了视觉暂留现象实现的,因为人类眼睛的生理构造,若是每秒能更新跨越16张一连的画面的话,就会给人一种“画面连贯”的错觉。

其实这是一个16帧的动画,但换成3D游戏就会感觉已经卡的不成了

但分歧的是,3D图形衬着的机制,就决意了动画和片子中一些可以造成“动态视觉”的设计方式难以同样地应用——因而在3D游戏傍边,就需要更高地帧率来实现动态的画面,这也是为什么人们常说需要至少30帧的原因(当然,30帧只是最低要求,若是有充沛刷新率的显露器,可以以更高的帧率来运行游戏,天然是更好的)。

一样来说,帧率已经足以反映游戏体验是否流通了,不外,它其实是不克详实可托地反映游戏运行过程中实际情形的——如前面所说,动画和游戏实际上是经由视觉暂留现象来实现动态画面的,而具体到游戏而言,则需要至少每秒30张画面(也就是30fps)才能包管人眼不会显着地感触到卡顿,但帧率作为较量体式较量的实际上是每秒的平均帧率,它并不克正确地反映这一秒内硬件衬着画面的真实情形。

你需要帧时间来救场

这个时候,就能够乞助于帧时间来更为具体地剖析卡顿的情形了——帧时间指的是硬件衬着每帧画面的时间(也能够说是每一帧画面的绘制时间),它的计量单元单子是毫秒(ms),幻想情形下,当我们游玩某一游戏获得每秒60帧的帧率时,它每帧画面在1秒钟(1000毫秒)内停留的时间该当正确于16.7毫秒。但实际上,游戏在实时运算时,跟着画面的转变,显卡、CPU、内存等硬件因为需要互相协调运作,因而每帧生成的时间距离,并纷歧定不乱地在一个幻想的数值。

好比说,极端情形下,一秒钟内,若是前500毫秒衬着了60帧,在后500毫秒没有衬着任何帧,如许固然帧率测量究竟将仍将显露为平均60fps,但在那没有衬着的500毫秒内,人眼是会感触到图像信息没有转变的,如许的体验根基就能够称之为卡顿了。当然,这只是个极端的例子,但在实际情形中,30fps的幻想帧时间是33.3ms,若是高于这个数字,人眼就有或者感触到卡顿。

简洁来说,较高帧数下显现的卡顿问题恰是帧生成时间不不乱导致的,当硬件无法实时处理游戏数据的实时运算时,就会显现一些生成时间惊人的帧,这时即使硬件已经处理好这一帧后背的数十个帧了,是以,为了获得流通的游戏体验,高帧率和不乱的低水平帧时间就缺一弗成了。

你们猜,下面这种情形,你们感觉实际游戏体验有没有显现卡顿呢?

硬件是造成卡顿和掉帧的第一元凶?

硬件当然是显现卡马上人们平日能想到的原因——执行游戏后台进行的较量工作的,是处理器,将数据传输给处理器的,则是内存,面临日益复杂精彩的图形画面,显卡多年来一向都在风中扭捏,·价位的差别,根基上就是较量机硬件水平的划分,五千的游戏本,天然和一万的游戏本能完成的工作是有着天地之别的(台式机同理)。

更好的较量机硬件,能同时处理更多的数据,应对更为复杂的工作,支撑更新的图像手艺——从DX8到DX12,这几年游戏画面的提高也是有目共睹的——需要占用至少3.5GB显存的游戏用4GB显存的显卡运行,显现卡顿也是正常的了。

因而,人们面临卡顿第一时间猜忌是本身硬件的锅,也是很正常的,究竟——没那能力硬揽瓷器活是会翻车的。

驱动也来凑热闹!

此外,驱动法式也在很大水平上影响着硬件的机能施展,我就曾经碰到过某一版本的驱动导致游戏帧数下降了一泰半不到二十帧的情形——吓得我赶紧回滚至前一个版本了(其实一起头玩新游还认为是硬件不成,后来发现玩之前的游戏也如许...)。

但这又是因为什么呢?我们先来认识一下驱动是什么——设备驱动法式(英语:device driver),简称驱动法式(driver),是一个许可高端(High level)较量机软件(computer software)与硬件(hardware)交互的法式,这种法式建立了一个硬件与硬件,或硬件与软件沟通的接口,经由主板上的总线(bus)或另外沟通子系统(subsystem)与硬件形成保持的机制,以使得硬件设备(device)上的数据交流成为或者。

因为驱动法式需要对硬件功能进行初级接见才能运行,是以驱动法式平日也是在高特权的情况中运行的,若是显现问题,几乎能够一定会导致系统的运行显现问题——这也是为什么编写驱动法式的义务平日软件工程师或较量机工程师来完成的,这是因为他们比大多数人有更好的信息来设计他们的硬件。

是以,驱动法式的示意直接决意了硬件的实际效能输出,若是某个版本的驱动更新显现了问题,就会碰到我之前碰到的机能问题——好在,一流的软件工程师和较量机工程师也不是食斋的,因而,一样在后续的版本更新里也会修复这些问题。

雪上加霜的游戏负优化

那我大几万买的笔记本/台式机为什么有时候玩一款游戏也会卡顿呢?这就不得不说到游戏公司有时候令人诧异的“负优化”的,事实上,除了负责硬件数据输出效率的驱动,在建造游戏时,游戏中要显现几多素材,如何优化硬件数据传输的效率,也都邑影响到最终的游戏体验(好比寒霜朋克玩到后期就会显现这个问题)。

好比说,2007年的二战即时计谋游戏《英雄连》,若是正常游玩的话,用如今的游戏正本运行就能连结到一个很高的帧率水平。

然则在开启了点窜器作废生齿上限后,几百个小分队挤在屏幕中央的画面切实看起来固然十分的壮观,但同时也会因为占用过多的系统资源而弗成避免地发生卡顿的情形——事实上,很多游戏在设计时就是经由削减场景内不需要的素材来提高游戏的效能示意的,而一些取巧的设计思路也能发生不错的结果——有名的射击游戏《使命理睬》系列,就是以区域内素材的使用见长的——它将游戏使用的素材集中于设计好的“必经道路”上,不光避免了虚耗机能的情形,还给玩家们带来了一流的片子化体验(事实上,有一段时间里,一些玩家是把COD当互动片子来看待的)。

而另一种常见的解决方案,也许就属游戏设计傍边的纸片山纸片人了——这种设计大大削减了硬件的数据处理量,还在必然水平上包管了视觉结果的体验。

而硬件应用效率的问题,则离别和游戏所使用的引擎和斥地人员的手艺功底有关——前者首要是引擎自己采用的算法或者导致的效能问题,尔后者,则在于对游戏运行过程中对硬件使用的优化——若何加倍高效地运用内存、显存还有处理器,是斥地人员在手艺层面一向试图络续冲破的一种能力。

而负优化的情形,根基上就是不和教材了。

总之?

总而言之,面临游戏画面卡顿的情形,硬件和软件都有或者是造成这一切的元凶,升级硬件,降低画面设置诚然是一种不错的选择,不外识别卡顿的真正原因,对有的放矢,更新驱动或是抛却一款游戏,也是游玩过程中需要注重的,用帧时间来剖析游戏运行状况,就能更为清楚地认识实情,是升级硬件,照样更调驱动,如何选择也就尽收眼底了。在追求极致游戏体验的道路上,如何能少花钱多处事,玩得舒心,照样一门值得研究的学问呢!