爲什麼越來越多3A大作開始選擇40幀?

本文約2300字,閱讀約6分鐘。

不知道你們發現沒有,近幾年新出的大作,有很多在幀率上新增了40幀模式。

從《瑞奇與叮噹:時空跳轉》《地平線 西之絕境》,到《星空》《怪物獵人:荒野》和《刺客信條:影》,這幾年越來越多主機大作開始在30幀和60幀之間,專門做出一檔40幀模式。把它當成三檔幀率中的平衡選項,《黎明行者之血》更乾脆,當前展示裏直接把40幀放在了主機版的最高幀率位置。

大家最熟悉的60幀,索性就沒有了。

看到這裏,你肯定會說,都已經到PS5 Pro了,40幀???做不到60幀就直說唄。

這種反應很正常。過去二十多年,主機玩家已經被訓練出了一套條件反射。30幀是保底幀率,60幀纔是能玩的正常模式。

爲什麼偏偏是這幾年,越來越多大作開始做40幀了呢?

是廠商越來越懶了嗎?是,但又不全是。

先把這三個數字拆開看。

我們所看到的動起來的畫面,本質上是一張張連續拼接的靜態畫面。所謂30幀,就是顯示器一秒鐘顯示30張靜態的畫面。每秒顯示的畫面越多,兩個相鄰畫面之間的動作跨度越小,看起來就越順。

40幀看起來只比30幀多了10張畫面,但是如果用1000毫秒(1秒)除以幀數,30幀是33.3毫秒一張,40幀是25毫秒,60幀是16.7毫秒。

從30幀提高到40幀,每張畫面少停留8.3毫秒。從40幀提高到60幀,同樣少停留8.3毫秒。40在幀數上離30更近,但在畫面的停留時間上卻正好在30和60中間。

從30提到40幀每秒只要多10張畫面,而從40幀提高到60幀卻要多20張,畫面上的提升是相同的,但是對性能的要求卻有很大差別。

要說清這件事要先了解一幀遊戲到底是怎麼做出來的。

現代遊戲並不是CPU做完全部工作,再把成品交給GPU。CPU裏面也分着幾撥線程。遊戲線程負責角色、AI和物理,渲染線程把這個世界整理成顯卡要畫的指令,RHI線程再把不同圖形接口的命令翻譯並提交給顯卡。GPU接到任務以後,才真正開始處理幾何、材質、光照和後期效果。

這幾撥線程也不是站在原地排隊等工作。遊戲線程可能正在計算第N+1幀,渲染線程還在整理第N幀,GPU則在繪製更早的一幀。幾段工作前後咬在一起,形成一條跨越多幀的流水線。

所以CPU花了12毫秒、GPU花了15毫秒,並不等於一幀需要27毫秒。真正決定幀率的,通常是遊戲線程、渲染線程和GPU裏最慢的那一段。

假設一款遊戲的遊戲線程需要19毫秒,GPU只需要12毫秒。它守不住60幀,不是因爲畫面太精細,而是CPU沒法在16.7毫秒的截止線前準備好下一幀。把分辨率從4K降到1080p,顯卡也許能從12毫秒降到8毫秒,可整條流水線仍然要等那個19毫秒的遊戲線程。

換一種情況,遊戲線程只要11毫秒,GPU卻要20毫秒。此時降低分辨率、陰影和光追確實能夠救幀率,但要把20毫秒壓進16.7毫秒,往往不只是少算幾個像素。開發者必須把整套視覺目標拆掉一部分。

40幀的價值就在這裏。它把各段流水線共同面對的截止線從16.7毫秒放寬到25毫秒。前面兩個19毫秒和20毫秒的場景都能過線,還剩下一點餘量吸收復雜戰鬥、城市人羣或者鏡頭突然轉向新區域時的波動。

原本爲了滿足60幀必須被砍掉的工作,現在就有機會被留下來。

而這一代大作,偏偏就有很多不願意砍掉的工作。

拿光線追蹤來說,它的成本遠不只是打開一個反射開關。顯卡要先給場景做一份方便光線查詢的立體地圖,這就是加速結構。

每個角色、頭髮和會變形的物體,都有各自的底層加速結構,也就是BLAS。角色一動,結構就可能要跟着更新。整個場景裏有哪些物體、它們分別放在哪裏,又要彙總成一份頂層加速結構,也就是TLAS。

地圖準備好以後,才輪到發射光線、查詢它碰到了什麼、計算命中位置的材質與光照,最後還要用降噪器把有限數量的採樣整理成一張乾淨畫面。這裏任何一步超時,都可能把一幀拖過16.7毫秒。

開放世界尤其麻煩。屏幕外的建築和角色雖然不在鏡頭裏,卻可能出現在玻璃、水面或者金屬上的反射中(在我的《遊戲裏的鏡子,爲什麼總照不出主角?》這篇文章中我也有聊到這一塊),不能像普通光柵渲染那樣輕易丟掉。場景越大、動態物體越多,加速結構的更新、遍歷和顯存壓力就越難塞進16.7毫秒。

《刺客信條:影》的官方技術覆盤就有提到。

團隊很早就放棄預烘焙光照,改用運行時光線追蹤全局光照。白天、夜晚、天氣和場景變化都能參與光照,可GPU還要同時承擔模擬、幾何光柵化與着色、角色形變和頭髮。育碧給出的判斷很坦率,在標準PS5上,30幀和40幀是現實可行的目標;如果還想保留這些負載,60幀就很難守住。

因此它的40幀平衡模式保留了標準光追,60幀性能模式則要縮小光追範圍。到了PS5 Pro,團隊靠更快的GPU、BVH8光追能力和PSSR,才讓60幀拿回更多畫面特性。但40幀依然沒有消失,因爲那一檔還能繼續往反射和畫質上加東西。

動態4K同樣不是一句「分辨率會浮動」就能講完。

引擎會參考前幾幀的GPU耗時,調整下一階段的內部渲染比例,儘量趕在目標幀時間前交活。如果橫向和縱向都從原生分辨率的100%降到80%,需要着色的像素只剩大約64%。畫面最後再通過時間重建或PSSR一類技術輸出到4K。

因此,就算兩個模式同樣標着「動態4K」,實際使用的內部渲染分辨率和畫質取捨也可能完全不同。30幀模式也許大部分時間貼近原生4K,40幀模式爲了守住25毫秒會更頻繁地下調,60幀模式則可能繼續降低內部像素,還要削減反射、陰影、人羣和幾何細節。輸出信號都是4K,不代表顯卡真的畫了同樣一張4K畫面。

有的時候你覺得60幀反而畫面更差了,就是這個道理。

還有一個反常識的點,就是顯示器的刷新率提升也是導致40幀更普遍的原因之一。

60Hz顯示器每16.7毫秒刷新1次,恰好對應60幀,30幀則是刷新2次對應1幀,而40幀對於60Hz顯示器來說,每張畫面平均要佔用1.5次刷新。60Hz屏幕沒法把這1.5次刷新平均分給每張畫面,只能讓一張畫面顯示2個刷新,下一張顯示1個刷新,如此交替,所以畫面就會不連貫。 。

而120Hz顯示器普及之後,這個問題就迎刃而解了,120Hz對3檔幀率都能很好適配,原本不好用的40幀一下就成爲香餑餑了。

一個調校良好的40幀模式,完全可能比平均幀率更高、幀步調卻混亂的模式更跟手。

所以40幀在這幾年成爲大作的常規選項,靠的不是單一技術。

120Hz電視給了它每幀3次刷新的固定位置。動態分辨率和時間重建讓開發者能夠圍繞25毫秒調配像素。光追、開放世界與角色細節又讓16.7毫秒越來越昂貴。固定硬件的主機不能靠換顯卡解決問題,於是30和60之間這條過去沒法穩定使用的截止線,終於有了產品價值。

當然,40幀不是萬能靈藥。

格鬥、競速、競技射擊和強調精確閃避的動作遊戲,60幀依然更重要,有條件的話甚至應該往120幀走。40幀也可能只是優化不足的遮羞布。判斷它做得好不好,要看幀步調是否穩定,實際換回了哪些畫質和模擬內容。

它更像是這一代主機大作共同算出來的一筆賬。60幀的16.7毫秒已經裝不下完整目標,30幀的33.3毫秒又顯得太慢,於是開發者把最難砍掉的東西重新塞進25毫秒,再把選擇權交給玩家。

不是最漂亮的數字。

但可能是這一代主機,最誠實的數字。

評論區見 | 玩3A大作時,你會選多少幀?

更多遊戲資訊請關註:電玩幫遊戲資訊專區

電玩幫圖文攻略 www.vgover.com