為什麼24幀的電影比30幀的遊戲要流暢許多?
相信不少人有這樣的疑惑,雖然多數電影幀數只有24幀,但播放起來看不出什麼卡頓,甚至可以說相當流暢。但是玩遊戲的時候,只要幀率在60幀以下,卡頓感就會瞬間提升,甚至玩著玩著還會頭暈,這是為什麼?
其實這個問題很容易理解,不過有必要先為大家簡單介紹以下幀數是什麼。
幀數就是在1秒鐘時間裡傳輸的圖片的量。通常用fps(Frames Per Second)表示。
每一幀都是靜止的圖象,快速連續地顯示幀便形成了運動的假象。高的幀率可以得到更流暢、更逼真的動畫。每秒鐘幀數 (fps) 愈多,所顯示的動作就會愈流暢。
所以我們看到參數中的 「30幀」 其實就是說 ,在一秒的時間內,拍攝30張靜態畫面,然後通過播放使其連接起來。
因為人眼的視覺殘留特性:是光對視網膜所產生的視覺在光停止作用後,仍然保留一段時間,原因是由視神經元的反應速度造成的。
反應速度時值是二十四分之一秒(也就是說播放每秒超過24幀靜態畫面,在人類肉眼看起來就是流暢而連續無卡頓的動態畫面),這也是電影等視覺媒體形成和傳播的根據。所以我們目前看到的電影基本都是24幀的。
那麼問題來了,為什麼電影24幀很流暢,而遊戲30幀卻讓玩家不能忍呢?這其中的原因就在於,電影和遊戲的影像生成原理不同。
電影的24fps,是每1/24秒拍攝一副畫面,如果你玩過相機的手動設置,你應該知道如果以1/24秒的快門速度拍攝一個運動的物體會「糊」掉,而正是這樣「糊」掉的畫面連起來才讓我們的眼睛看上去很「流暢」。
而遊戲畫面不是按1/24秒快門拍出來的,而是每一幅畫面都是獨立渲染出來的,之所以跑成24fps是因為顯示卡處理能力不夠而「丟棄」了其中的一些畫面,這樣一來每兩幅畫面之間就不連續了,自然看上去會「卡」。
舉個例子,一個圓從左上角移動到右下角,如果是電影,第一幀與第二幀可能是類似下圖這樣的:
如果是遊戲畫面,第一幀與第二幀會類似下面這兩張圖:
大家也可以拿電影中的快速移動畫面截圖與遊戲中的相比較,效果會更加直觀,例如這樣:
可以看出上面第一張截圖,車輛明明在行駛之中,但是如果我們截圖的話,還是比較清晰的幀。而電影中無論是車輛還是快速運動的背景都是虛化的。
電影雖然幀率僅為24幀,但是每一幀都包含了一段時間的資訊,而遊戲則只包含那一瞬間的資訊。
一個電影在一段時間內曝光,畫面的每一幀,都包含有一段時間的資訊,這段時間的長度由快門時間決定,最長不能超過1/24秒,所以影片中每一幀包含資訊量較大(幀與幀之間有模糊的影像,這與人眼快速轉換視角也是相似的)。
而遊戲里的每一幀只有這一個瞬間的資訊,幀與幀之間的資訊完全丟失了,所以必須通過更多的幀數來使影像過渡自然,為了解決這一問題,一些遊戲中也加入了模擬電影模糊效果的畫質選項。
此外,幀與幀之間間隔恆定:人眼對於動態影片的捕捉是非常敏感的,電影幀率是固定不變,肉眼很難察覺出異常。
而遊戲的幀率卻是很容易變化的——如果手動鎖定幀數,顯示卡會默認渲染最高幀率。
玩家觸發的很多劇情往往伴隨劇烈的畫面變動,這時顯示卡的幀率就會出現下降,前後不一致的幀率很容易被肉眼捕捉,這時我們就會覺得,遊戲變「卡」了。