為什麼遊戲幀數一般要到 60 幀每秒才流暢,而過去的大部分電影幀數只有 24 幀每秒卻沒有不流暢感?
雖然電影24FPS也不如60FPS的流暢,但是24FPS不會讓人覺得卡,甚至12FPS都不會讓人覺得卡,而24FPS的遊戲能讓人很明顯的感受到卡,12FPS就是幻燈片了,這是為什麼呢?有兩個原因。
第一個原因就是由兩者圖像生成原理不同造成的。
電影雖然只有24FPS,但是每一幀都包含了一段時間的信息,而遊戲則只包含那一瞬間的信息。一個電影在一段時間內曝光,畫面的每一幀,都包含有一段時間的信息,這段時間的長度由快門時間決定,最長不能超過1/24秒,所以視頻中每一幀包含信息量較大。而遊戲的第一幀包含第0秒的信息,第二幀包含了第1/24秒的信息,只有這一個瞬間的信息,這中間的信息完全丟失了,所以看起來會卡。
用圖來解釋一下,比如有一個圓從左上角移動到右下角,第一幀是這樣的:
如果是電影,第二幀可能是類似下圖這樣的(圖畫得不好但是就是這個意思):
如果是遊戲的話,第二幀就應該是這樣的圖:
看出區別來了嗎?這是因為電影和遊戲的畫面生成方式的本質不同造成的,電影的畫面是拍攝的實際場景,在快門時間內膠片/感測器持續曝光,這一段時間裡人物場景的變化都會被拍到膠片/感測器上,每隔一段時間換下一張膠片再曝光一段時間。
而遊戲的畫面則是由顯卡生成的,顯卡通過計算生成一幀畫面,生成完畢後再計算下一幀,這樣每一幀都是清晰的,不會有模糊,像我上面圖中的那個圓,不管他的移動速度是快是慢,顯卡只計算兩幀畫面,中間的移動軌跡一概不會顯示,我們看到物體就好像老版西遊記裡面孫悟空施一個法術「就」的一聲飛過去了。
這裡大家可以花10秒鐘時間做一個非常簡單的實驗,先緩慢的揮手,發現手的影像是很清晰的,再快速的揮手,發現手的影像不清晰了,有了殘影,但是你絕對不會覺得畫面卡了,這就是電影的效果。我們再來模擬遊戲的效果,先緩慢的移動滑鼠,再快速的移動滑鼠,發現了嗎,快速移動的時候滑鼠卡了,滑鼠是一下下的跳動過去的,這就是遊戲的效果了,發現為什麼卡了嗎。
遊戲里無論移動速度快或慢,始終保持一秒鐘60幀畫面。當滑鼠一秒60像素的時候,滑鼠箭頭是1像素1像素的移動,一秒600像素的時候,箭頭就變成10像素10像素的移動了,中間10個像素的位置信息就丟失了,畫面就不連貫了,就卡了。電影里裡面一米一米移動的時候,每幀的畫面是清晰,十米十米移動的時候,動作就會出現拖影,給人以動感的效果,連貫而不卡,看動作片時暫停就能看到拖影了。人眼的視覺暫留和相機拍攝視頻的原理類似的,人的眼睛不可能在第0秒看到一副畫面,到第1/24秒又看到一副畫面,而是連續的接受光照在視網膜上,持續曝光,所以快速揮手,可以看到手的殘影,效果跟電影裡面的模糊類似的,就算FPS不高也不會卡了,而如果在遊戲裡面快速揮手,就只能看到手在兩邊來回跳,中間的畫面沒了,就卡了。
在上面的實驗中,如果試著更快速的移動滑鼠,並且讓滑鼠做出更複雜的動作,例如畫8字形,會發現中間丟失的關鍵幀更多了,越發顯得卡了。這也就可以解釋為什麼RPG遊戲以較低幀數運行的時候不覺得卡,而FPS遊戲以低幀數運行的時候會卡了。這是因為FPS節奏快,人物移動迅速,甚至可以一秒鐘內整個場景轉上一圈,一旦幀數不高,中間的動作就會有斷檔,會覺得卡了,所以射擊遊戲對幀數的要求更高。就像不管我們怎麼移動滑鼠,顯示器始終60FPS沒變,但是快速移動就是會卡,這是遊戲和電影生成影像的原理本質不同造成的。並且射擊遊戲對操作響應速度的要求非常高,一旦FPS低了操作也會反應不過來,RPG遊戲對操作反應速度要求明顯低多了,像回合制的壓根就無所謂了,喝杯茶再來操作都行,射擊遊戲里的生死都在毫秒間,幀數一低隨時掛掉,像Quake3中某個跳躍動作甚至還要求必須在125FPS以上才能完成。
現在很多遊戲特別是賽車遊戲,當速度變得很快的時候,會加入一個動態模糊的特效,就是模擬電影中這種高速運動的物體有拖影的效果,打開之後會覺得畫面連貫一些。但畢竟是模擬特效,還是不能和真拍出來的效果比,做得不好反而會畫虎成犬。
↑電影《星際穿越》畫面,可以看到很明顯的動態模糊。
↑這是早期的極品飛車,沒有任何動態模糊,一旦速度過快,畫面就顯得不流暢了。
↑這是現代的極品飛車,可以看到有較真實的動態模糊效果,這樣就顯得流暢多了。
想要體驗像遊戲般卡頓感的視頻,大家可以去B站體驗,找一個60FPS的視頻,例如科技美學的評測:一代神機 諾基亞3310復刻版 開箱上手體驗測評「科技美學直播實錄」。打開視頻後在右下角選擇清晰度,超清為60FPS,其他則為30FPS,對比一下就會發現30FPS的版本明顯卡了很多,這是因為B站的30FPS就是把60FPS的去掉了一半的畫面,沒有動態模糊,信息量一下子少了一半,畢竟也沒有一種能自動補全動態模糊的技術,這時候你就能感覺到片頭的字幕和畫面是跳著走的,那岩的動作也極不流暢,這和遊戲中的卡頓頗有異曲同工之妙。如果這個視頻一開頭就是用30FPS拍的,那顯然不會如此卡頓。
第二個原因就是電影的FPS是穩定的,而遊戲則是不穩定的。
電影雖然是24FPS,但是他固定每隔1/24秒換一次畫面,畫面出現頻率是固定的,這點雷打不動,畫面之間間隔時間是穩定的。而遊戲乍一看是60FPS沒錯,但是為什麼同樣是60FPS,有的流暢有的卡頓呢,有人就曾經做評測研究過,為什麼一模一樣的FPS,有些顯卡會感到「頓卡」呢。評測是這樣的,他記錄了在一秒裡面,每一幀都在什麼時候出現,於是一下子真相大白,流暢的顯卡,他60幀畫面差不多是每隔約1/60秒出現一次,也就是說顯卡穩定的每隔一段固定的時間生成一副畫面,卡頓的顯卡,可能前半秒生成了59幀畫面,後半秒就只有1幀畫面了,那個評測裡面提到一個概念「幀間隔」,也就是說兩幀之間的間隔時間,如果是穩定的,那畫面就流暢,如果不穩定,就會卡,有的顯卡最大可達數百毫秒,相當於一秒才幾幀畫面,那自然會讓人感覺卡了,如果穩定在33毫秒,只需要30FPS,就會讓人覺得基本流暢了。
↑如上圖,這是AMD兩個版本的驅動測試的幀間隔情況,可以看到紅線和藍線的FPS實際上沒什麼區別,但是明顯紅線的幀間隔更穩定,藍線更容易出現頓卡的情況。
除了顯卡性能的不穩定導致上面這種情況出現,就是穩定性能的顯卡,也會出現FPS不變幀間隔時間長短不一,因為每一秒裡面的畫面有很多幀,每一幀的畫面複雜程度都不一樣。而且不管是PC還是主機,除非顯卡性能大大超越遊戲硬體需求,否則FPS都不可能穩定在某一數值,遊戲評測里都會有平均FPS和最低FPS,最要最低FPS低於了某一數值,遊戲自然會在某一時間頓卡。例如最近的大作仙劍6,顯卡吧有人測試過用四路泰坦X,依然會在某一時刻FPS跌到0,這種遊戲體驗無疑是毀滅性的。
大家都知道,遊戲的卡頓分很多原因。RTS遊戲中單位出現過多,CPU計算能力不夠,會卡,遊戲特效變好,顯卡算不過來,會卡,切換地圖讀硬碟,會卡,場景太大內存放不下,會卡。如果我們把FPS(每秒幀數),換成每分鐘幀數,可能會發現,一個遊戲每一分鐘的幀數都會大於3600,也就是每秒都大於60,那這樣就不卡了?可能前面30秒每秒有100幀畫面,後面30秒每秒只有20幀畫面,那後面30秒無疑很卡了。這樣來看完全就是耍流氓呀,回過頭再來看每秒幀數難道不也是在耍流氓嗎?我們只看一秒鐘總共有多少幀,而不去看更小的單位,每100毫秒有多少幀,這也是在耍流氓,在一秒鐘內整體似乎是流暢的,可是分割到百毫秒十毫秒的時候,並不是每百毫秒十毫秒都是流暢的。所以光看一秒鐘有60幀就認為不卡,是錯誤的,就像我們不能說一分鐘有3600幀就不卡了一樣,「卡」是發生在更短的時間內,而不是一秒。
所以,60FPS的遊戲會卡。
並且在遊戲中,丟失的幀很可能是動畫的關鍵幀,碰上這種情況,不僅卡,還會顯得動作不真實,突然一下子跑了一大步。玩2D遊戲就會感受到,即使幀數不高,也不會這樣,因為2D遊戲的人物動作一般是事先繪製的,遊戲中人物做動作實際上是播放動畫,不管幀數多低,都「不卡」,有些無良遊戲商製作的2D遊戲,人物動作一秒就幾幀畫面,雖然看起來卡卡的,也不是3D遊戲的那種卡頓感。因為動作是穩定播放的,不是即時生成的,動作的速度是固定的,就不會出現原因一中動作過快「看不清」的情況,也不會出現原因二中FPS不穩定的情況。同時由於2D遊戲是事先繪製的,關鍵幀都會畫出來,人物的動作就是連貫的。當然有些2D遊戲裡面也有即時生成的光影,當硬體機能不夠的時候,即時演算的速度跟不上了,依然會「卡」。
現有的高票答案都是從視覺流暢的角度來分析的,都解釋的很好,但是遊戲開發中,以每秒60幀作為性能目標的原因,並不僅是單純考慮到視覺流暢性。
事實上,僅考慮視覺流暢性的話,30幀是完全可以接受的。在畫面細節足夠的情況下,人眼腦補運動感的能力會被充分調動起來,不會太在意幀間區別。而實際上,xbox360和ps3上都有大量的遊戲運行在30幀每秒,包括光環,戰爭機器,神秘海域,殺戮地帶這樣的大作。
而且以現在的3D技術,完全可以在30幀的情況下, 加入動作模糊等特效, 對畫面中高速運動的物體加上人為模糊,從而實現和電影畫面相似的質感。 在打開動態模糊的情況下,30幀和60幀的視覺流暢度差異極小。
這裡有一個遊戲30幀和60幀視頻對比的網站:30fps vs 60fps
可以看到,差別需要細看才能體會,而且單看30幀的話,不會讓人在視覺上覺得卡頓。
但是開發者和玩家仍然會儘可能的追求60幀的體驗,為何?因為對遊戲而言,流暢感並不僅來自於視覺方面,操作的流暢也至關重要。
決定操作流暢感的,主要是操作響應時間。這是指玩家做完一個操作,到遊戲畫面反映出這個操作影響為止,所需的時間。
而根據目前大多數遊戲引擎運行的方式,這個過程需要3幀。就是說玩家的任何操作,最快也要3幀之後才能體現在畫面上。因此,遊戲的響應速度對幀率高度敏感。
30幀的情況下,每幀顯示33ms,響應極限大概是100ms。
60幀的情況下,每幀顯示16ms,響應極限大概是50ms。
實際表現中,由於遊戲邏輯處理,以及顯示設備還有一個幾毫秒的響應時間,一般60幀的遊戲響應速度會在60到70ms,30幀遊戲的響應速度會在120到150ms。
因此,對玩家而言,60幀能夠明顯的感到比30幀流暢。
=======關於3幀延遲========
3幀延遲和遊戲引擎對邏輯和渲染的處理流程有關,在當下比較常用的渲染流程下,3幀是一個極限。對此製作過吉他英雄的 NeverSoft 的聯合創始人Mick West 專門撰文進行過詳細分析,全文見如下連接:
Gamasutra - Programming Responsiveness
我有空的時候考慮翻譯一吧,至於原理,倒是引用他一張圖就夠了:
他自己對多個遊戲的響應速度測試:
Gamasutra - Measuring Responsiveness in Video Games
評測網站 DigitalFoundry 的測試:
Console Gaming: The Lag Factor Article ? Page 1 ? Eurogamer.net
確實只有少部分遊戲可以達到3幀的響應速度,一般遊戲能做到4幀就算不錯。
==========感謝 @王小明的提醒,說無論怎樣理論極限都是3幀太武斷了,已修改。
很多答案都忽略了一個重要的問題,即電影葉子板開角(電影機通過一個叫葉子板的半圓形裝置控制曝光,這個裝置的開角可變,以此改變曝光時間,通俗的說這個裝置就是電影機的快門,為方便解釋下面統一用快門速度一詞代替)的問題。
上圖即為葉子板
電影並非只要是24幀就能流暢,我們之所以看到的24幀電影畫面自然流暢,是因為在拍攝時使用了和人眼視覺相似的快門速度,即1/50秒左右。
這裡要給大家科普一下,我們知道電影拍攝並不是一個電影機持續曝光的過程,而是在每一秒內拍了一定數量的照片,比如24幀就是24張照片。而重點是,一般情況下這24張照片並不是每張曝光了1/24秒,而是每張曝光一半時間,即1/48秒左右,所以每秒中真正的總曝光時間只有半秒。之所以這樣,就是為了讓畫面符合人眼看東西的方式。在這個快門速度下,高速移動的物體會出現模糊,與人眼觀察高速物體時的感覺相似,所以人們看電影時感覺自然流暢。
之所以電影每秒24幀,是因為這是電影發明之初最低的能讓人眼覺得畫面流暢的幀速率,為了省膠片錢就一直使用這個幀率直到數字時代。所以,畫面流暢與否其實和快門速度有很大關係,如果每秒24幀,快門速度卻是1/96秒時,每秒總曝光時間只有1/4秒,大量幀與幀之間的內容都缺失了,每幀畫面變的清晰的多,運動模糊則大大減少,此時我們看這段視頻時一樣會覺得跟不流暢。而遊戲中渲染出的運動就相當於快門速度很高的視頻,如果每秒24幀,便會非常不自然。此時要麼增加運動模糊創造出與人眼類似的視覺效果,要麼通過提高幀率使運動平滑。
為什麼提高幀速率可以改善這種狀況呢?假設統一使用1/96的快門速度,當幀速率分別為24幀每秒和48幀每秒時,可知最終每秒的曝光時間分別為1/4秒和1/2秒,可以看出提高幀速率可以增加曝光時間減小幀與幀之間的空隙,讓畫面更加流暢。
回答完畢~其實就是遊戲沒有動態模糊的問題,有的朋友說有了動態模糊的遊戲感覺也不流暢,那是因為它的動態模糊是用質量很低的演算法搞出來的,不可能像預渲染遊戲一樣給你精雕細琢。
舉個例子,GT賽車6,這遊戲片頭電影用的素材與遊戲內完全一樣,幀數甚至還不如遊戲畫面高,但是看上去遠比遊戲流暢,因為片頭電影的實際畫面是這樣的,電影等級的動態模糊演算法。
遊戲中是根本沒有這樣精確的動態模糊的,除非你暫停遊戲,進入照片模式,幾秒鐘算一幀。
關於電影的24幀,我補充一下。
電影的每一幀並不是記錄了1/24秒的信息,玩攝影的朋友很容易理解,因為電影攝像機的ISO和光圈是事先確定好的,為了適應不同的光線條件,快門時間就必須是變化的。
一般電影一幀記錄的是1/120秒的信息(評論提醒,一般快門是50),暗處和室內大概是1/40,不過這樣的模糊已經足夠了,起碼比遊戲中那絕對的毫無模糊要好得多
---------------------
瀟湘公子後來還為這話題做了個視頻,反駁別人關於動態模糊的說法,其實他關於遊戲為什麼不卡的解釋完全就是錯的,顯然玩的太少。
現代低幀數遊戲往往都是因為處理能力不足要等垂直同步,所以卡頓可能沒有規律。老遊戲機有不少限制幀數到15幀20幀的遊戲,而且人家硬體是掃描線模式的,從原理上決定了各幀都是均勻的,照樣非常卡。
幀數低的遊戲卡,幀數不均勻+幀數低的遊戲更卡,瀟湘公子以前玩的都是後者,偶爾見到一次幀數均勻的卡就誤以為是流暢了,然後就誤以為卡是因為幀數不均勻。
我提供了一個完美的例子,來展示什麼叫幀數均勻的卡。
遊戲全程5幀,請大家系好安全帶。
SS版《VR夢幻仙境》(Virtual Hydlide) 通關視頻
先下結論:沒錯,遊戲沒60幀就是不流暢,但電影只需要24幀就真的讓你覺得流暢。
很多很多人說,遊戲 60 幀人眼沒法識別啊,其實 30 幀就夠了,什麼,你說非得 60 幀才行那是你心理作用啦。哦?你說 30 幀和 60 幀真的有區別。哦,那是因為顯示器刷新率問題啦,還有垂直同步機制搞的鬼啦。
以上都是鬼扯。
我個人的主觀感受,玩特定類型的遊戲(例如 FPS 遊戲),當幀率達到 60 以上,我就會覺得很流暢,而且繼續提高幀率也不會讓我感覺遊戲變得更流暢。當幀率降低到30幀的時候,可以主觀感受到遊戲在變卡。降低到30幀以下,明顯變卡,體驗很差。降低到10幀之下,遊戲變幻燈片,完全沒法玩。
不只是我,我的很多朋友也是這個體驗,網上論壇交流可知很多人也是這個體驗。如果你的感受跟上面一樣,相信我,說明你是正常人。如果有人告訴你那是心理作用或者錯覺,那是因為他在鬼扯。
那麼,如果你面前有一台顯示器,裡頭播著遊戲的畫面。而遊戲的幀率(即遊戲畫面中現實的fps值)即是你顯示器真正每秒打在你眼睛視網膜內的畫面數目。不考慮中間其他亂七八糟的機制(垂直同步還是必須考慮,所以我假定關了垂直同步。)
那麼問題就來了,為什麼遊戲幀率要達到 60 幀才可以完美流暢,而電影只需要 24 幀即可呢?
首先,還是不得不提視覺暫留這個概念。我們知道,我們之所以看到的電影畫面、遊戲畫面是連續的,就是因為我們眼睛視網膜上成的像不會立即消去,因此間斷的圖像會讓我們看起來像連續的影像。
視覺暫留(英文:Persistence of vision)是光對視網膜所產生的視覺,在光停止作用後,仍保留一段時間的現象,其具體應用是電影的拍攝和放映。
原因是由視神經的反應速度造成的,其時值約是1/16秒,對於不同頻率的光有不同的暫留時間。是動畫、電影等視覺媒體形成和傳播的根據。比如:直視太陽數秒後,人眼將殘留一個強光源的影像。我們日常使用的日光燈每秒大約熄滅100餘次,但我們基本感覺不到日光燈的閃動。這都是因為視覺暫留的作用。
所以,要達成最基本的視覺暫留效果至少需要10fps(參考視頻的幀率)。
wikipedia.org 的頁面
這裡似乎有些奇怪的地方,因為其中提到 10fps 就可以達成基本的條件,而視神經的反映速度時值約是1/16秒。
意思是,10 fps 很流暢,16 fps 以上人眼感受不出區別。不對啊,這個 fps 我還在看幻燈片呢。
因此,我不得不得出這個結論:人主觀覺得畫面是否流暢,幀率只是因素之一。
比如說,還有這麼一個因素。首先,請想像真實世界中有一個快樂的王尼瑪在奔跑。場面應該是這樣的。
然後,鑒於圖像會在視網膜停留平均 1/16 秒。因此,我們經測量發現,真實世界中的王尼瑪在 1/16 秒內能移動 1 米。
那麼,視網膜傳給大腦的 1/16 秒中王尼瑪的像是什麼樣子的呢?是一張面目清晰的王尼瑪的臉嗎?錯,人眼的成像更像照相機。實際上看起來應該是這樣子的。
王尼瑪的移動速度如此之快,以至於你看不清他的面容。但是你的大腦知道這個特質,因此,只有當看不清王尼瑪面容的時候,大腦才感覺自然。此時,真實世界的場景是如此流暢,王尼瑪就像風一樣移動。
如果這個王尼瑪是遊戲渲染出來的。那麼,如果幀率只有 16 fps,那麼對於每一個 1/16 秒,人眼看到的畫面應該是這樣的。
大腦在比較前幾幀和後幾幀後,通過王尼瑪位置的變化發現王尼瑪的移動速度是如此之快。於是大腦就吐槽:「這不科學,我居然能看清王尼瑪的臉。」
遊戲老老實實渲染出每一幀王尼瑪的清晰面容,卻被到大腦視為不再自然的。於是不流暢的感覺就產生了。
但是,當我們把遊戲的幀率提高到 64 fps 的時候。在 1/16 秒內遊戲渲染出了4 張王尼瑪的臉。這時畫面是這樣的。
但是請注意,人眼睛是按順序依次看到這四張圖片,但是因為視覺暫留機制,前一張圖片會暫留,從而與後面的圖片疊在一起。疊在一起後大腦看到的什麼樣子我也不知道,我就大概畫個疊在一起後出來的玩意吧。
大腦一看,這啥玩意,不過看起來好像很模糊的樣子,不管了,好像很真實的樣子。
於是我們發覺,64 fps 的遊戲畫面比 16 fps 的遊戲畫面更加自然。
之於電影么。電影可是真拍出來的,攝像機的結構和人眼睛的結構極其類似。你仔細觀察電影的截圖,你會發現有大幅度動作的截圖都很模糊。
換那句話說,當人看到明明運動很快的物體卻清晰可見沒有變模糊的時候,會感覺不自然。電影當然不會有這種困擾。
------------------------更新------------------------------
評論中有提及日本動畫的情況。我剛好寫完答案後看了fate stay night 最新一集。貼個圖來說明情況吧。
抬手。
注意指尖,刻意畫出的效果線和模糊效果。這種效果線在漫畫中也可以見到,用於表現運動模糊。這可不是因為攝影器材造成的模糊,而是故意畫出來以表現快速運動的效果。
收手後指尖停止運動,可以對比上一張圖看出區別。
不光是動畫,漫畫也可以。
注意畫面中人物身體不同部位的畫法也不盡相同,高速運動的身體部位(如桃白白的手,孫悟空的腰部和頭髮),都做了運動模糊處理。
換句話說,我們直覺上認為,快速的東西就該看不清。
----------------次日更新--------------------
感謝評論中不少人提醒我,遊戲的幀率不穩定也是造成不流暢感的重要原因。我深以為然。實際上,回到題主的問題,「為什麼遊戲要很高幀才不卡,而電影在很低幀就可以感覺很流暢?」這個問題,顯然原因是多種多樣的。絕不會只有一個原因。
不過我的答案只針對其中一個原因進行了探討,其他原因我就不想多做論述了,其他答案都答得很好,可以參考他們的答案。
此外,還有一些人用遊戲幀率不穩定才是原因這一點來反駁我。我只想說,建議你玩玩那些老的、fps 鎖定在30的遊戲。因為硬體性能的富裕,可以保證你絕對穩定在 fps 30 左右。然後再來看看相對於那些穩定的 fps 60 的遊戲,是不是流暢程度相同。多因素的問題必須控制變數,遊戲的「幀率穩定」、和「fps 值」是兩個因素,請保證這兩個因素的某一個是一致的再來比較流暢。
我不否認遊戲幀率不穩定是一個很重要的原因,但我也不認為我所說的原因就不重要。這兩者並不矛盾。
http://weixin.qq.com/r/QTqqskrEwhe9rQ7R929T (二維碼自動識別)
遊戲是互動的,人類期望做出操作遊戲畫面就有相應的反應,但是遊戲接受輸入後要等一個刷新周期才能做出反應,延遲只有低於人類反應速度極限才能讓人感覺反應是及時的,人類反應時間大約是20毫秒左右。
搬運自本人的果殼回答:
我覺得這個問題有兩方面:
1.注意力的問題
我們來做一些比較:
電影:被動接受
遊戲:主動參與
電影:通過畫面,燈光和音樂突出希望觀眾注意的信息
遊戲:儘管努力地通過畫面,燈光和音樂突出希望玩家注意的東西,但是還是在互動的時候還是很難達到效果 (提示這裡有敵兵,提示你要走的路在這裡)
電影:無用信息就不用放出來了
遊戲:」其實那個石頭真的只是個擺設。。「
電影:(自家看的時候)按下暫停就可以干別的事兒
遊戲:「別吵!現在不能暫停!」
電影:三小時算是很長的了,看得會累
遊戲:五個小時就通關的遊戲都嫌短
…………
所以遊戲往往比電影更需要我們的注意力。而大家知道,注意力越集中的時候,對於細微時間的反應就越明顯。
2.遊戲類型區別
遊戲並非各個都要求60幀,很多遊戲其實是在30幀下流暢運行的(沒聽說過固定幀率在24幀的,拿30幀比較接近也可以比較)。
一般來說,戰略類(比如XCOM未知敵人,植物大戰殭屍),速度不快的平台類(比如時空幻境),速度不快第三人稱(比如寂靜嶺),文字冒險(&<--廢話)都是可以在30幀下保持流暢的,一般玩家不會感覺到卡。但是高速動作類(代表作Shinobi忍),賽車和第一人稱往往就因為畫面整體的運動速度過快,要求更高的幀數(60)。所以覺得「卡卡的」是這類遊戲在30幀才會出現的,只要你不暈3D,找個寂靜嶺或者Alan Wake這樣的慢速第三人稱,縮幀在30幀玩的時候,你一點也不會覺得卡。
另外,其實有很多iOS和PS2時代的遊戲就是穩定在30幀而非60幀運行的。
P.S. 穩定的幀數很重要
這裡的比較是建立在幀數穩定在30的基礎上的,如果一個遊戲一會兒60,一會兒20,你會感受到前所未有噁心和卡卡卡卡卡卡卡卡卡卡卡卡、卡、卡、卡、kkkkkk……
P.S.P Motion Blur有小部分幫助 (但不是關鍵性的)
的確,應用了Motion Blur的遊戲對玩家「卡」的反應在幀數不足的時候會有好轉。沒有Motion Blur並且運動激烈的遊戲在20幀左右的時候玩家能感覺到明顯的跳躍感,而有了Motion Blur之後玩家腦補兩幀間空白的能力大大變強,卡的感覺也會淡化很多。但是Motion Blur不是決定性的。
有以下兩個點大家可以自己嘗試驗證一下:
15幀的高速遊戲開Motion Blur,玩家依然覺得很卡(根據玩家的不同可能是10到20幀)
穩定30幀的慢速遊戲不開Motion Blur,玩家會覺得流暢。(血輪眼就算了……)
以上~
遊戲 CG 畫面是光圈無限小、快門無限短的,並不是真實畫面,所以必須提高 fps 才能使得畫面流暢。
最高票回答有幾個事實性的錯誤:
- 如今大多數遊戲基於60FPS製作,起因很簡單:因為電視視頻信號的刷新率是50FPS(PAL)或60FPS(NTSC),所以遊戲機的硬體都照這個速率設計。
- 當然,對電視節目而言,這50或60FPS最初都是隔行掃描,即通過電視廣播得來的數據每一幀只有實際一半的掃描線內容,但遊戲機所準備的每一幀畫面仍然是完整的。
- 早期的遊戲機沒有操作系統,所有遊戲都是寫成一個巨大的循環,每次大循環的運行長度嚴格等同於1/50秒或1/60秒(當然嚴格來講50和60都是取整過後的)。在電子槍一行一行的在屏幕上掃出顯示內容這段時間,遊戲需要計算各種遊戲邏輯,但有一件事不能做,即更新遊戲機的顯示緩存,不然畫面就可能出現撕裂雪花等等影響用戶體驗的事情。在視頻垂直回掃(即V-BLank)周期時,遊戲就需要更新顯示緩存,此時電子槍正從電視右下角重新移動到瞄準左上角,不會更新屏幕上的顯示內容。所有這一幀的工作處理完以後,遊戲程序通常還會剩餘一點時間,此時一般就通過輪循硬體標誌位或等待VSYNC中斷來把這一幀的時間用完。你問如果遇到處理不完會怎麼辦?大多數那個時代的遊戲不會,但少數遊戲會,這時候你就有機會看到遊戲出現慢動作,比如《雷電》後期子彈滿天飛的時候。
- 其實就算是現在,遊戲開發仍然大體上遵循同樣的原則,即在V-Blank時(現在更通俗的說法是等待VSYNC)才更新顯示緩存(翻轉double buffer,等等),其他時間處理計算和邏輯。不照這個原則辦事的,你就有機會看到畫面上下部錯位。
- "GPU渲染得不夠快時,CPU對遊戲狀態的更新也會相應滯後" 這種說法只對了一部分,也就是上面說的《雷電》這樣的例子。實際上大部分遊戲,特別是PC遊戲,為了保證遊戲的正常進行,會選擇另一種做法,即跳幀(frame skipping)。換句話說如果CPU算完這一幀該做的事情,發現已經錯過了VSYNC,就乾脆跳過這一幀的顯示部分,直接開始下一幀的計算。在慢動作遊戲和遊戲正常速度但跳幀之間,你更接受哪一種呢?至於因為跳了幾幀內容沒顯示而造成用戶特定輸入無法達成——這是錯誤的。因為輸入仍然正常得到處理,只是玩家確實很難從畫面上得到準確的反饋而已。
我就補充一點:24fps的電影觀感不流暢。
有一個Windows下的軟體叫SVP(SmoothVideo Project (SVP)),可以集成到DirectShow播放器工具鏈里,作用就是插幀(frame interpolation),用GPU加速的插值演算法計算中間幀,將低幀率(24fps)的視頻插成高幀率(60fps)。由於實時插值工作量巨大,還可以把SVP當成一個filter,寫AviSynth腳本來壓制60fps的BDRip,壓制好再來看。
用SVP看片是會上癮的。自己找教程把工具鏈(MPC-BE/LAV Filters/SVP/madVR/xySubFilter)架設好,體驗一下那絲滑的感覺。。然後你才知道24fps根本不夠看的。偷懶的同學直接下littlepox菊苣的黑歷史作品(http://www.nyaa.se/?page=viewtid=458993)自己試試。
宇宙第一渲染器madVR有一個類似的功能,smooth motion,沒有做SVP這樣的frame interpolation,而是frame blending,直接偷懶用相鄰幀代替插幀結果,部分達到畫面平滑化的效果。@蔡小帥已經把我要說的一點說了,我就補充點別的,
首先是遊戲在渲染的時候會有一種幀間忽略的狀況產生
遊戲的流暢是根據每一幀的播放來實現的,當幀數相對穩定的時候每一幀更新都會比較流暢,但是有時候會有這樣的情況產生,你的下一幀還沒有渲染完成,但是當前幀已經播放完了,那麼如果電腦等待下一幀幀的渲染完再播放的話,當前沒有可播放的東西的時候,就會有黑屏。那麼這時候引擎發現這種情況產生的時候他會忽略一些幀數的播放,從而使整個遊戲的計算達到流暢,不會產生一些多餘的問題,所以你在玩遊戲的時候突然小獅子不打呼嚕跳出來幹活的了,你的幀數從60掉到30的時候你會覺得卡,其實不是真的卡,只是渲染速度趕不上播放速度,引擎忽略一些幀數的播放,從而保證整個遊戲計算的流暢。
第二點是玩家動態輸入,假設遊戲使用了動態模糊的幀,那麼按照蔡小帥已經說的,其實我的一幀是24幀的集合,假設我在播放著個模糊幀的時候玩家做出了反向,或者不符合我播放幀的動作的時候,引擎會先把當前幀播放完,再播放下一個我計算好的模糊幀,這時候玩家看畫面的時候就會產生我前一秒從A到了B,但是下一秒我從AB之間一點跳到了C,而且如果要維持遊戲畫面的流暢的話我引擎很有可能每秒需要計算30*24幀的畫面,大大的浪費了運算能力。
之前有答主PO出來的圖只是殘影效果,那個效果的製作和離子效果有異曲同工之妙,其實就是我運動的主體在淡化的時候有一個生命周期,本體不做淡化,但是每當我移動的時候,保存上一個位置的圖片,然後每播放一幀我淡化一點,直到最終消失,這就是殘影而不是動態的模糊幀。電影也並非24幀流暢,如果你看過高幀電影的話,你就會強烈的感受到他的真實感。
(當然強烈同意低幀率手段帶來的特殊藝術效果)
電影每一幀畫面都包含了運動的信息(曝光時間影響的動態模糊)而遊戲如果沒有動態模糊,每一幀就是一個靜止沒有任何運動信息的畫面。
沒有成熟的動態模糊技術的3D遊戲,理論上永遠沒有足夠流暢的幀率。60幀已經是極低的下限了。
可惜目前的主機遊戲,能達到60幀就算不錯了,大部分都是24~30幀左右徘徊。所以暈3D的大有人在。
很多人都說到了視覺暫留的問題。得出了遊戲要60禎,電影24禎就夠了的結論。這沒有錯,但是……
我想說的是,事實上,對比一起60禎的遊戲(比如DF流出的《神秘海域3》1080P60禎視頻,在Youtube上可看),與24禎的電影,你明顯就會感到。
TM60禎流暢多了好嗎!
就像以前很多蘋果用戶吹的「絲般順滑」的感覺。
事實上,主機遊戲普遍採用30禎標準,基本相當於就是電影的流暢度了。如果出現卡頓,那一定是因為沒有鎖在30禎,而鎖30比你在40~50間浮動強多了。
所以,電影並沒有流暢多少,而且現在很多導演都開始追求24以上的標準了,比如霍比特人就用過48禎。用24禎純粹是因為膠片太貴,出於拍攝成本考慮。今後如果全數字化拍攝與放映的話,相信電影工業也會全面48或60禎標準。而很多人居然還在因為」太流暢了沒有電影感「為由反對這種標準。
切,對於一個Gamer來說,24禎就是屎啊!事實上對於一些有大量動態場景的電影而言,24fps是不夠的,這也就是彼得傑克遜拍48fps霍比特人的原因
電影的24幀,在動態的時候,是模糊幀。
電腦遊戲的幀,在動態模糊技術出現以前,每一幀都是清晰的幀。
模糊幀可以理解成若干清晰幀的組合,所以模糊幀只要24幀,人就不會有不連續的感覺。
遊戲的所謂60幀流暢,其實是一個很低的標準。大部分人眼對閃耀的感覺是75幀到85幀,少數敏感是100幀。
因為現在都用LCD了,感覺不出來而已,其實在CRT時代,因為顯示原理的原因,60幀的閃耀感是很強。我用最簡單的話語去說吧:
1)電影最流暢幀數是電影發展之初大量實驗得到的結果,低於24就會影響實際觀感,高於24則會增加成本。而規則創立之後,大家沿襲下來了,也造成今天這個局面
2)遊戲60流暢,只是一個相對的概念,其實遊戲穩定30也可以稱之為流暢。遊戲幀數是和刷新率有些關係。刷新率也是國際標準,這裡不討論這個。
簡單來說,就是當遊戲的幀數可以整除60的時候,遊戲幀數都是平均分布的(比如60幀對應1hz一幀,30幀對應2hz一幀。。。),根據實際對人的實驗得到的結果表明,幀數平均分布的時候,人是不會覺得不適的。所以60和30在60hz的顯示器上都是可以認為流暢的。但與此同時,30~60這中間的幀數卻可能會讓人覺得卡頓
3)影視作品和遊戲每一幀存在的區別在於:影視作品的單幀里包含了幀與幀之間的動態信息。通俗些說,就是當物體運動起來時,視頻每一幀都是模糊的,沒有一幀是清晰的。再結合人眼的視覺暫留,這模糊和視覺暫留一結合,於是24幀也變得足夠了。靜止狀態時,幀數無大礙了,低些也沒關係,看不出區別的
而遊戲,不同於影視作品,每一幀都是gpu渲染輸出的,也就是說每一幀都是絕對清晰的(不考慮動態模糊),那麼幀與幀之間的過度缺少了幀與幀之間的運動信息作為補充,於是你可能看上去就覺得會有閃爍,不連貫。這也是為什麼遊戲幀數30即使比電影24高,但是依然覺得不是特別順暢的原因
當然,也有些方法能做補救,比如動態模糊,通俗的來說,動態模糊就是把電影幀中的模糊模擬進遊戲的幀裡面去。所以有些遊戲,幀數可能偏低,但是因為有動態模糊,也緩解了人的不適感
4)現在由於顯示器刷新率的限制,我們一般情況只可能在30~60之間看到30和60是完美呈現的。但是如果顯示器支持這其間的完美顯示,那麼有可能未必需要60才能做到最低限度的「最流暢」,說不定可能40,或者50就足夠了電影的24幀其實每幀都包含了1/24秒內拍攝到的所有信息,包括運動物體的信息,注意看下圖中彭于晏的腿部以及飛舞的水花,都明確指示了運動物體在拍攝時間間隔內的軌跡和方向。
http://hisoing.com/live/wp-content/uploads/2014/06/2014-06-17-HuangFeiHong-03-rs-1024x682.jpg
遊戲的一幀畫面渲染出來的只是當時時間節點下的瞬間畫面,信息量尤其是運動信息要少太多太多,整個畫面看上去只是一副世界被暫停的狀態。
http://www.k73.com/up/allimg/121102/22-121102091S3-50.jpg
因此,24FPS下人眼捕捉到的是一系列 硬邦邦切換靜止的圖像,而非電影畫面彼此相輔相成互相彌補的畫面交接。為了增加流暢感,遊戲開發者就嘗試將幀數提升超過24。至於到60FPS,那是少量大廠才能做到的。
為了彌補這一缺陷,部分遊戲加入了動態模糊特效,但是這種特效要求機器渲染出更加多的間隔幀併疊加來達到效果,相比之下更加耗費機能。
http://attach.bbs.miui.com/forum/201301/12/141356l089u6339kz640kk.png1. 最主要是玩家操作輸入不能及時得到反饋, 特別是在FPS這類對反應要求極高的遊戲里, 對沉浸感,遊戲性,是種極大的破壞,因為我明明早看到對手,而且要舉槍射擊了,可是槍就是比別人慢半拍,你說我會不會奔潰?這一點坐在後面觀戰的,也許是感受不到的。
2. 電影里的motion blur 和抗鋸齒要遠好於目前實時渲染能到水平
遊戲的操作性也應該被考慮。這是我今年換了更高配置後的遊戲本後的感受。
我以前遊戲本的配置是打開遊戲幀數在30fps。現在是60fps
同樣是我在操作,表現出來的技術水平都有了提高
最直觀的體驗:讀條時間變少。
Motion blur
推薦閱讀: