相信不少人有這樣的疑惑,雖然多數電影幀數只有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秒,所以視訊中每一幀包含資訊量較大(幀與幀之間有模糊的圖像,這與人眼快速轉換視角也是相似的)。
而游戲里的每一幀只有這一個瞬間的資訊,幀與幀之間的資訊完全丟失了,所以必須通過更多的幀數來使圖像過渡自然,為了解決這一問題,一些游戲中也加入了模擬電影模糊效果的畫質選項,
此外,幀與幀之間間隔恒定:人眼對于動態視訊的捕捉是非常敏感的,電影幀率是固定不變,肉眼很難察覺出異常,
而游戲的幀率卻是很容易變化的——如果手動鎖定幀數,顯卡會默認渲染最高幀率,
玩家觸發的很多劇情往往伴隨劇烈的畫面變動,這時顯卡的幀率就會出現下降,前后不一致的幀率很容易被肉眼捕捉,這時我們就會覺得,游戲變“卡”了。