幀數和遊戲畫面之間的那些事 不只是“流暢”那樣簡單

長久以來,國內一些遊戲玩家都對遊戲的幀數和流暢度之間有一些誤解,甚至有些人會將幀數與網絡延遲掛鉤。每當我聽見某些LOL玩家、甚至是遊戲主播說自己“我FPS都180多了,怎麼那麼卡”的時候,相信除了我以外,還有許多人想一起吐槽和科普關於幀數和遊戲畫面的那些事。

幀數和遊戲畫面之間的那些事 不只是“流暢”那樣簡單

今天我們來談談遊戲和幀數的一些原理,講講遊戲和電影畫面在幀數方面有哪些不同之處,順便和大家聊聊被玩家所討厭的“動態模糊”和“垂直同步”特效。許多人不知道的是,它們其實都和幀數有著剪不斷理還亂的關係。

關於遊戲和電影的幀率,大家可能都聽說過一個觀點——24幀以上的畫面都可以被人眼準確認定為“動的畫面”,這也是早期電影的幀數標準。

幀數和遊戲畫面之間的那些事 不只是“流暢”那樣簡單

不同幀數下,人眼接收到的信息量

不過大家可能都忽略了一個事實,雖然人眼的“理論可識別幀數”是24幀,但人類視神經和大腦有著極高的動態補償能力。也就是說,人類是可以感受到、辨別出24幀以上的畫面的,而且不同幀數的畫面帶給人的實際體驗也截然不同。不然也就不會出現類似於《比利·林恩的中場戰事》這種原生120幀的電影,同樣也不會有可以顯示144幀的電競級顯示器了。科學角度來說,人類真正可以辨別的幀數上限其實是在100-120幀/秒的樣子。

幀數和遊戲畫面之間的那些事 不只是“流暢”那樣簡單

相信感受過高幀數電影和高幀率遊戲的玩家一定對那種極致絲滑和順暢的體驗印象深刻,而在大多數情況下,這種高幀率畫面會為PC帶來很高的性能需求。從另一個角度來看,高幀率帶來的體驗提升並沒有想象中的那麼高,但它的確在有需求的人們眼中非常重要(比如電競玩家和影音愛好者)。

幀數和遊戲畫面之間的那些事 不只是“流暢”那樣簡單

《霍比特人》是通過48幀技術拍攝的

於是在成本等多方面的妥協下,我們常見的電腦顯示器提供的是60幀的顯示性能,而多數電視主機遊戲提供的是30幀的畫面,絕大多數電影則是在30-60幀間徘徊(好萊塢動作場景較多的片子會有60幀,比如漫威系列超級英雄電影等,IMAX的HD新標準為48幀/秒)。

由於顯示設備在幀數方面的上限(顯示器和主流電視的幀率上限為60幀),60幀目前被廣泛認為是視頻流暢的一個標準。主流的遊戲電腦通常也都會滿足60幀的需求,為玩家提供高水平的畫面和特效顯示效果。

不過不要忘了,遊戲和電影在畫面的生成和處理方面是完全不同的兩回事——

一、電影

在電影中,每一幀的畫面都存在幀與幀之間的動態模糊,當你隨便暫停一個畫面正在移動的電影時,我們都能看見畫面的模糊和“拖影”的存在。這種模糊和拖影當然也會被人眼所捕捉,成為了人腦和視神經合成畫面時的高動態捕捉的一環,被認為是一種“流暢”的體現。就算是2D動畫每一幀必定是完全靜止的畫面,畫師們也會在幀和幀之間手動畫出動態模糊的效果,大家隨便找一部動畫片暫停截圖就可以發現這個小技巧了。

幀數和遊戲畫面之間的那些事 不只是“流暢”那樣簡單

幀數和遊戲畫面之間的那些事 不只是“流暢”那樣簡單

我們舉個例子,當你拿出手機(特別是晚上光線不足、快門時間明顯變長的情況下)快速移動時按下快門,所得出的“拍虛了的”畫面和電影畫面快速移動時的其中一幀是一個道理。他們捕捉的都是某一段時間內的一個“動態”,而非傳統意義上的一個定個瞬間。

說白了,就是電影的每一幀畫面並不完全定格,畫面中動態的模糊欺騙了大腦,讓它認為“我看到的幀數很高/感受到的信息量很足”。在這種情況下,24幀是能讓人感覺比較舒服的。

幀數和遊戲畫面之間的那些事 不只是“流暢”那樣簡單

《冰雪奇緣》

當然了,如果電影按照48幀、60幀甚至120幀的規格拍攝的話,觀眾所能夠獲得的體驗自然會更好。不信的話,你可以去網上看看《比利·林恩的中場戰事》4K+120幀電影在上海放映時的觀眾反饋。不過過高的幀數會帶來攝像方面的一些光學技術瓶頸,一些電影迷也在追求所謂的“電影感”(就是幀率不是那麼高的感覺),所以絕大多數電影並沒有在幀數方面過於較真。

二、遊戲

遊戲畫面的渲染就不像電影那樣簡單,它的每一幀畫面理論上都應該是非常清楚而且單獨拿出來也可以當“照片”用的。通常情況下,遊戲渲染的原生畫面不存在動態模糊(也就是拖影),每一幀的畫面與傳統電影畫面有本質的不同,人腦和視神經也沒辦法通過“動態補償”捕捉到幀與幀之間的信息。這種情況下,如果遊戲依舊給你的是24幀的畫面,玩家就會感覺到卡頓,尤其是競速、動作和射擊類遊戲。

幀數和遊戲畫面之間的那些事 不只是“流暢”那樣簡單

之所以人們願意花大把的鈔票放在遊戲PC的顯卡、CPU和內存上面,根本原因還是為了提升特效和幀數。特別是在畫面需要高速轉動的遊戲中,每秒幀數的高低直接決定了你所能感知到的瞬間信息量,只有你知道這些信息後,才能快速反應、擊殺敵人,否則就只能卡在角落瑟瑟發抖了。

在FPS類遊戲裡面,相信多數玩家都有過瞬間轉身尋找敵人的動作,遊戲內的角色可能會在半秒內的時間來一個180°大轉身。這個時候,遊戲就需要在極短的時間內相應玩家的操作,渲染對應的畫面,由顯示器輸出遊戲的實時畫面。如果你遊戲的幀數只有30幀/秒,那在這轉身的半秒內你就只有15幀的畫面供視角的切換,相信但凡是個正常的人類,都會感覺到那種放幻燈片一樣的不流暢感。在主機遊戲中,類似的問題可以通過手柄視角轉換的較低速度來勉強規避(沒法轉太快),但在PC上用鍵鼠操作就把類似的幀數弊端暴露得一覽無餘。

幀數和遊戲畫面之間的那些事 不只是“流暢”那樣簡單

而在現在主流的一些遊戲作品中,特別是主機陣營中由於機能原因無法實現60幀的那部分作品,遊戲開發商們都會用兩種方式規避由幀數帶來的一系列問題:

1、動態模糊

既然電影中由能夠欺騙視覺系統和人腦的拖影畫面,那遊戲中是否可以做到類似的效果呢。答案是可以的,遊戲中的動態模糊可以通過軟件模擬移動方向的幾何圖形,比如頭髮、樹枝、石頭、地面、天空和雲層等會在鏡頭中快速掠過的物體,使畫面看起來更加順暢。不得不說,這是一項非常聰明、而且用途很廣的畫面特效,我們在相當一部分遊戲的設置畫面中都能夠找到它。

幀數和遊戲畫面之間的那些事 不只是“流暢”那樣簡單

遊戲中的動態模糊特效

但隨之而來的也有個問題,在一些對畫面清晰度較高的遊戲中(比如《絕地求生:大逃殺》),“不小心做了動態模糊特效就可能找不到敵人”。只要你不是寫輪眼玩家、電腦配置又不是很高、還想玩3A大作,動態模糊該開還是開了吧,畢竟它可以顯著提升遊戲的遊玩流暢度。

幀數和遊戲畫面之間的那些事 不只是“流暢”那樣簡單

不過,當你的電腦可以輕鬆跑出60幀以上的畫面,那這個動態模糊還是建議大家關閉掉,畢竟關閉後的畫面會更加清晰自然一些,那種“粘滯感”也會隨之減少。目前也有一些遊戲會針對不同的幀率調整動態模糊的強度,這就是廠商之間見仁見智的事情了。

2、垂直同步

幀數和遊戲畫面之間的那些事 不只是“流暢”那樣簡單

圖中圈出來的部分就是畫面撕裂現象,相信你也遇見過

這個遊戲畫面選項在幾乎所有的主流遊戲中都會出現,它存在的目的是同步遊戲幀率和顯示器的刷新頻率,使畫面的實際輸出更加順滑自然、沒有撕裂效果。通常來說,屏幕在顯示每一幀畫面的時候也是從屏幕頂端逐漸向下進行刷新的,就像用滾輪在牆上刷油漆一樣,屏幕頂端和底端時存在刷新時間差異的。雖然這種差異很難被人眼分辨,但在遊戲這種經常出現下半屏幕還停留在上一幀,上半面屏幕已經出現下一幀畫面的情況,畫面動起來時就會出現強烈的撕裂感。

幀數和遊戲畫面之間的那些事 不只是“流暢”那樣簡單

在這種情況下,即使你的遊戲幀率非常高,也無法避免由屏幕刷新帶來的畫面撕裂效果,而垂直同步就是用來解決這個問題的。開啟後,電腦會在某一幀完全在屏幕中顯示完全後,再輸出下一幀到屏幕上面去,讓著急想登場的幀畫面排隊等著,強行對幀率和刷新率進行同步。但這種特效就會帶來一些細微的畫面延遲,也就是粘滯感,如果你感知不到撕裂的畫面的話,這個效果同樣還是不開比較好。


結語

其實每一個視覺能力正常的人類,都可以感知到30幀、60幀、甚至100幀視頻畫面之間的差異,區別在於他們是否對幀數特別敏感罷了。有趣的是,一些我們自己玩的時候感覺有些“卡”的遊戲在剪輯錄制之後,觀眾反而會覺得視頻非常流暢。原因就在於視頻的壓制過程中,幀與幀之間被視頻壓縮編碼意外創造出的動態模糊特效,觀眾反而有種在看電影的錯覺。

幀數和遊戲畫面之間的那些事 不只是“流暢”那樣簡單

這種案例看似模糊了遊戲和電影之間的差距,卻引出了另一個遊戲和電影之間的區別——輸入&渲染延遲和顯示延遲。人類的觸覺感知系統和反應能力是遠高於視覺處理系統的,因此玩家們通常對輸入的延遲有著非常敏感的反饋。舉個例子,iOS系統之所以順滑,就是因為它在輸入延遲方面快於安卓系統一個級別,所以它用起來才那麼“跟手”,而他們之間的區別可能只有幾毫秒而已。永遠不要低估人類在感知層面上的能力,特別是觸覺感知系統。

幀數和遊戲畫面之間的那些事 不只是“流暢”那樣簡單

這種敏感的神經系統,也讓我們玩遊戲時覺得“卡、黏、不跟手”,而想要解決這個問題,最簡單的方式就是提升遊戲的幀率。在絕大多數遊戲中,遊戲都會預渲染之後3幀左右的遊戲畫面,當你進行操作時,所得到的反饋其實是有4幀左右延遲的(包括當前幀和不計入本次統計的顯示輸入延遲)。我們算一道數學題,如果遊戲運行幀數是30幀,那你將面對的可能是1/10秒左右的輸入延遲;而當幀數到達60幀時,你面臨的延遲就會是1/20秒左右的輸入延遲。同時考慮到幀生成時間等更高級別的元素的存在,一般我們還是會認為幀數越高越流暢一些。

幀數和遊戲畫面之間的那些事 不只是“流暢”那樣簡單

預處理幀數和“跟手程度”有很大關係

幀數這件事看似簡單,其實背後的原理是相當複雜的。通常來講,遊戲幀數(FPS,Frames Per Second)還是越高越好的,當你的幀數不能滿足要求時,可以打開動態模糊挽回幀數丟失帶來的卡頓;當你認為畫面有撕裂時,開啟垂直同步就可以解決顯示刷新率帶來的麻煩。對玩家來說,幀數永遠是陪伴我們遊戲人生的重要參數,雖然它看起來很複雜,但我們至少還是對它有一些理解、懂一些幀數背後的原理。

至少……不要把幀數和網絡延遲搞混比較好,不然也太沒有牌面了。


分享到:


相關文章: