對于廣大玩家們而言,影響游戲體驗(yàn)的一大元兇,就當(dāng)屬卡頓和畫面撕裂了,特別是在玩動作游戲時,卡頓影響發(fā)揮的情況讓人想要砸鍵盤。
我依稀記得,曾經(jīng)玩《阿卡姆之城》最高難度因?yàn)闄C(jī)能不行掀桌子砸鍵盤的黑歷史,那種按下按鍵過了將近一秒才能得到回應(yīng)的體驗(yàn)讓人無比的光火。
但最后還是硬著頭皮打穿了,二十多幀的游戲體驗(yàn),為什么要跟鍵盤過不去呢,不如去換電腦。..
其實(shí),造成這一切的,不單單只是硬件水平的問題,比如說,同樣的硬件,驅(qū)動版本有問題的話,也會影響性能的發(fā)揮。
而卡頓的表現(xiàn)也不只有幀率低的情況,高幀率卡頓的情況也會影響游戲的表現(xiàn),辨別卡頓的方法,除了看幀率外,還可以通過幀時間鑒別。
幀率是口鍋,什么都能裝
“哎呀,又掉幀了”,一般遇到游戲卡頓大家都會這么說,但對另一些同學(xué)來說,幀率卻仍然是一個非常陌生的名詞——游戲卡頓,和掉幀有什么關(guān)系呢?
事實(shí)上,幀率指的是平均一秒內(nèi),游戲更新顯示了多少張“畫面”——同動畫和電影一樣,游戲呈現(xiàn)給玩家的方式,也是通過快速的畫面更迭來實(shí)現(xiàn)動態(tài)的畫面的。
這是利用了視覺暫留現(xiàn)象實(shí)現(xiàn)的,由于人類眼睛的生理結(jié)構(gòu),如果每秒能更新超過16張連續(xù)的畫面的話,就會給人一種“畫面連貫”的錯覺。
但不同的是,3D圖形渲染的機(jī)制,就決定了動畫和電影中一些能夠造成“動態(tài)視覺”的設(shè)計(jì)方法難以同樣地應(yīng)用。
因而在3D游戲當(dāng)中,就需要更高地幀率來實(shí)現(xiàn)動態(tài)的畫面,這也是為什么人們常說需要至少30幀的原因(當(dāng)然,30幀只是最低要求,如果有足夠刷新率的顯示器,能夠以更高的幀率來運(yùn)行游戲,自然是更好的)。
一般來說,幀率已經(jīng)足以反映游戲體驗(yàn)是否流暢了,不過,它其實(shí)是不能詳實(shí)可信地反映游戲運(yùn)行過程中實(shí)際情況的——如前面所說,動畫和游戲?qū)嶋H上是通過視覺暫留現(xiàn)象來實(shí)現(xiàn)動態(tài)畫面的。
而具體到游戲而言,則需要至少每秒30張畫面(也就是30fps)才能保證人眼不會明顯地感受到卡頓,但幀率作為計(jì)算方式計(jì)算的實(shí)際上是每秒的平均幀率,它并不能準(zhǔn)確地反映這一秒內(nèi)硬件渲染畫面的真實(shí)情況。
你需要幀時間來救場
這個時候,就可以求助于幀時間來更為詳細(xì)地分析卡頓的情況了——幀時間指的是硬件渲染每幀畫面的時間(也可以說是每一幀畫面的繪制時間),它的計(jì)量單位是毫秒(ms)。
理想情況下,當(dāng)我們游玩某一游戲獲得每秒60幀的幀率時,它每幀畫面在1秒鐘(1000毫秒)內(nèi)停留的時間應(yīng)當(dāng)精確于16.7毫秒。
但實(shí)際上,游戲在實(shí)時運(yùn)算時,隨著畫面的變化,顯卡、CPU、內(nèi)存等硬件由于需要互相協(xié)調(diào)運(yùn)作,因而每幀生成的時間間隔,并不一定穩(wěn)定地在一個理想的數(shù)值。
比如說,極端情況下,一秒鐘內(nèi),如果前500毫秒渲染了60幀,在后500毫秒沒有渲染任何幀,這樣雖然幀率測量結(jié)果將仍將顯示為平均60fps,但在那沒有渲染的500毫秒內(nèi),人眼是會感受到圖像信息沒有變化的,這樣的體驗(yàn)基本就可以稱之為卡頓了。
當(dāng)然,這只是個極端的例子,但在實(shí)際情況中,30fps的理想幀時間是33.3ms,如果高于這個數(shù)字,人眼就有可能感受到卡頓。
簡單來說,較高幀數(shù)下出現(xiàn)的卡頓問題正是幀生成時間不穩(wěn)定導(dǎo)致的,當(dāng)硬件無法及時處理游戲數(shù)據(jù)的實(shí)時運(yùn)算時,就會出現(xiàn)一些生成時間驚人的幀,這時即使硬件已經(jīng)處理好這一幀后面的數(shù)十個幀了。
因此,為了獲得流暢的游戲體驗(yàn),高幀率和穩(wěn)定的低水平幀時間就缺一不可了。
你們猜,下面這種情況,你們覺得實(shí)際游戲體驗(yàn)有沒有出現(xiàn)卡頓呢?
真相只有一個!卡頓卻不是
硬件是造成卡頓和掉幀的第一元兇?硬件當(dāng)然是出現(xiàn)卡頓時人們通常能想到的原因——執(zhí)行游戲后臺進(jìn)行的計(jì)算工作的,是處理器,將數(shù)據(jù)傳輸給處理器的,則是內(nèi)存。
面對日益復(fù)雜精美的圖形畫面,顯卡多年來一直都在風(fēng)中搖擺,價(jià)位的差異,基本上就是計(jì)算機(jī)硬件水平的劃分,五千的游戲本,自然和一萬的游戲本能完成的工作是有著天壤之別的(臺式機(jī)同理)。
更好的計(jì)算機(jī)硬件,能同時處理更多的數(shù)據(jù),應(yīng)對更為復(fù)雜的工作,支持更新的圖像技術(shù)——從DX8到DX12,這幾年游戲畫面的進(jìn)步也是有目共睹的——需要占用至少3.5GB顯存的游戲用4GB顯存的顯卡運(yùn)行,出現(xiàn)卡頓也是正常的了。
因而,人們面對卡頓第一時間懷疑是自己硬件的鍋,也是很正常的,畢竟——沒那能力硬攬瓷器活是會翻車的。
驅(qū)動也來湊熱鬧!
另外,驅(qū)動程序也在很大程度上影響著硬件的性能發(fā)揮,我就曾經(jīng)遇到過某一版本的驅(qū)動導(dǎo)致游戲幀數(shù)下降了一大半不到二十幀的情況。
嚇得我趕緊回滾至前一個版本了(其實(shí)一開始玩新游還以為是硬件不行,后來發(fā)現(xiàn)玩之前的游戲也這樣。..)。
但這又是因?yàn)槭裁茨??我們先來了解一下?qū)動是什么——設(shè)備驅(qū)動程序(英語:device driver),簡稱驅(qū)動程序(driver)。
是一個允許高端(High level)計(jì)算機(jī)軟件(computer software)與硬件(hardware)交互的程序,這種程序創(chuàng)建了一個硬件與硬件,或硬件與軟件溝通的接口,經(jīng)由主板上的總線(bus)或其它溝通子系統(tǒng)(subsystem)與硬件形成連接的機(jī)制,以使得硬件設(shè)備(device)上的數(shù)據(jù)交換成為可能。
由于驅(qū)動程序需要對硬件功能進(jìn)行低級訪問才能運(yùn)行,因此驅(qū)動程序通常也是在高特權(quán)的環(huán)境中運(yùn)行的,如果出現(xiàn)問題,幾乎可以肯定會導(dǎo)致系統(tǒng)的運(yùn)行出現(xiàn)問題。
這也是為什么編寫驅(qū)動程序的任務(wù)通常軟件工程師或計(jì)算機(jī)工程師來完成的,這是因?yàn)樗麄儽却蠖鄶?shù)人有更好的信息來設(shè)計(jì)他們的硬件。
因此,驅(qū)動程序的表現(xiàn)直接決定了硬件的實(shí)際效能輸出,如果某個版本的驅(qū)動更新出現(xiàn)了問題,就會遇到我之前遇到的性能問題。
好在,一流的軟件工程師和計(jì)算機(jī)工程師也不是吃素的,因而,一般在后續(xù)的版本更新里也會修復(fù)這些問題。
落井下石的游戲負(fù)優(yōu)化
那我大幾萬買的筆記本/臺式機(jī)為什么有時候玩一款游戲也會卡頓呢?這就不得不說到游戲公司有時候令人驚訝的“負(fù)優(yōu)化”的。
事實(shí)上,除了負(fù)責(zé)硬件數(shù)據(jù)輸出效率的驅(qū)動,在制作游戲時,游戲中要出現(xiàn)多少素材,怎樣優(yōu)化硬件數(shù)據(jù)傳輸?shù)男?,也都會影響到最終的游戲體驗(yàn)(比如寒霜朋克玩到后期就會出現(xiàn)這個問題)。
比如說,2007年的二戰(zhàn)即時戰(zhàn)略游戲《英雄連》,如果正常游玩的話,用現(xiàn)在的游戲本來運(yùn)行就能保持到一個很高的幀率水平。
但是在開啟了修改器取消人口上限后,幾百個小分隊(duì)擠在屏幕中央的畫面的確看起來雖然十分的壯觀,但同時也會因?yàn)檎加眠^多的系統(tǒng)資源而不可避免地發(fā)生卡頓的情況。
事實(shí)上,許多游戲在設(shè)計(jì)時就是通過減少場景內(nèi)不必要的素材來提高游戲的效能表現(xiàn)的,而一些取巧的設(shè)計(jì)思路也能產(chǎn)生不錯的效果。
著名的射擊游戲《使命召喚》系列,就是以區(qū)域內(nèi)素材的使用見長的。
它將游戲使用的素材集中于設(shè)計(jì)好的“必經(jīng)道路”上,不僅避免了浪費(fèi)機(jī)能的情況,還給玩家們帶來了一流的電影化體驗(yàn)(事實(shí)上,有一段時間里,一些玩家是把COD當(dāng)互動電影來對待的)。
而另一種常見的解決方案,大概就屬游戲設(shè)計(jì)當(dāng)中的紙片山紙片人了——這種設(shè)計(jì)大大減少了硬件的數(shù)據(jù)處理量,還在一定程度上保證了視覺效果的體驗(yàn)。
而硬件應(yīng)用效率的問題,則分別和游戲所使用的引擎和開發(fā)人員的技術(shù)功底有關(guān)。
前者主要是引擎本身采用的算法可能導(dǎo)致的效能問題,而后者則在于對游戲運(yùn)行過程中對硬件使用的優(yōu)化——如何更加高效地運(yùn)用內(nèi)存、顯存還有處理器,是開發(fā)人員在技術(shù)層面一直試圖不斷突破的一種能力。
而負(fù)優(yōu)化的情況,基本上就是反面教材了。
總之
總而言之,面對游戲畫面卡頓的情況,硬件和軟件都有可能是造成這一切的元兇,升級硬件,降低畫面設(shè)置誠然是一種不錯的選擇。
不過識別卡頓的真正原因,對對癥下藥,更新驅(qū)動或是放棄一款游戲,也是游玩過程中需要注意的,用幀時間來分析游戲運(yùn)行狀況,就能更為清晰地了解實(shí)情,是升級硬件,還是更換驅(qū)動,怎樣選擇也就一目了然了。
在追求極致游戲體驗(yàn)的道路上,怎樣能少花錢多辦事,玩得舒心,還是一門值得研究的學(xué)問呢!
-
電腦
+關(guān)注
關(guān)注
15文章
1661瀏覽量
68196 -
幀率
+關(guān)注
關(guān)注
0文章
8瀏覽量
2597
發(fā)布評論請先 登錄
相關(guān)推薦
評論