Zi 字媒體
2017-07-25T20:27:27+00:00
數據總能讓你直觀地去判斷一個遊戲的好壞。銷量,售價,評分,這些數字總能引起我們的購買慾望。但是還有一組特殊數據,要是它達不到要求,估計你會連玩遊戲的慾望也沒有了。我們都知道《最後生還者》是一款把PS3機能發揮到極致的遊戲,其精美的畫面總是讓我們流連忘返,但你一定不希望它卡成精美的PPT吧?所以在談論眾多遊戲數據時,我們永遠繞不開一個老生常談的話題——那就是遊戲的幀率。你不會想玩只有10幀的《最後生還者》吧?首先我必須澄清一點,就是在我們口頭討論遊戲流暢度的時候,總是把「幀數」(Frame)和「幀率」(Frame rate)混為一談。其實在評測遊戲流暢度的時候,幀率才是那個重要的指標,而不是幀數。關於這一點我會在下文中展開講。那麼為什麼幀率那麼重要呢?所有的老玩家應該都知道幀率是遊戲體驗的基石,它的高低與穩定與否直接決定了遊戲的流暢性與可玩度。是的,幀率幾乎是遊戲流暢的全部。那我們就自然而然地引出下一個問題:幀率是不是越高越好呢?其實不然,具體原因《遊戲幀數:並非越高越好,穩定更重要》這篇文章已經說的很清楚了。但這裡我想補充的是:除了幀率,幀生成時間與單幀畫面(不撕裂)對遊戲體驗來說也很重要。說到這裡,有些玩家可能已經有點暈了。所以在正片開始之前呢,我提議以小時候經常玩的翻頁動畫為切入點,讓我們先對幾個關於幀的重要概念做一個大致的回顧。小時候常玩的翻頁動畫幀(Frame):一幅字畫叫一幀,這是字典上對幀的解釋。其實在遊戲中大致也是如此,幀就是影像動畫中最小單位的單幅影像畫面。簡單地來說,一幀就是一副靜止的畫面,連續的幀就形成了流暢的動畫。拿翻頁動畫舉例的話,其中的一頁就代表著一幀。其實遊戲也是這麼動起來的,只不過在這裡「翻」的這個過程是由計算機來完成的。幀數(Frames)/幀率(Frame Rate):普通玩家平時很容易混淆這兩個概念。幀數指一般指單位時間內幀的生成數量,而幀率指的則是單位時間內顯示的幀數(一般以FPS為單位)。先舉個簡單的例子:就像翻頁動畫,幀數代表著你翻到的那一頁的頁數,而幀率則代表你翻頁的速度。再舉一個不算複雜的例子:如果一個動畫在一秒鐘內的幀數為60幀,兩秒鐘內的幀數為120幀,那麼它的幀率則為60FPS。如果平均幀率越高,那麼畫面越流暢。值得一提的是:在主機上,30FPS一般是遊戲流暢運行的最低標準,而60FPS則被認為是比較完美的。幀生成時間(Frame Time):顧名思義,幀生成時間指的就是渲染單獨一幀所需的時間。也就是在翻頁動畫中翻一頁所需的時間,所以生成幀的時間一般非常短,通常以毫秒為單位。那這和遊戲流暢度又有什麼關係呢?讓我們先來做一點小小的計算:如某秒的幀數為30幀,那麼已知每秒30幀是流暢遊戲的最低標準,1s又等於1000ms,所以平均每幀的生成時間為1000/30=33ms。也就是說只要每幀的生成時間小於33ms,那麼我們是難以察覺到遊戲中的卡頓的。如果幀生成時間忽上忽下,就算平均下來的FPS為30以上,整個遊戲流程下來也不會太流暢。如果你不是很理解這個概念,下面這個幀生成時間圖能更好地幫助你更好地來理解這個概念(綠色代表流暢,紅色代表不流暢)。33ms以下遊戲就基本流暢了說完了這麼多,我想我們已經對幀率分析的基本概念有了一個了解。在PC平台上,我們可以輕鬆地藉助第三方軟體(Fraps),或遊戲自帶的跑分程序來對遊戲里的幀率表現有一個了解;而在主機平台上,我們沒有現成的工具去衡量,靠肉眼去判斷又不準確客觀,但遊戲里的掉幀我們又是有目共睹的。那應該怎麼辦呢。外媒Digital Foundry告訴我們主機的幀率分析一般分三步走:採集——分析——對比。下面就讓我們一步一步地進行解析吧:準備工作就像我之前講的,PC上有很多現成的工具(如Fraps)來測試遊戲的幀率,但由於主機系統相對封閉,我們並不能在遊戲主機上直接測試遊戲的幀率表現。在這裡,我們選擇「曲線救國」的方式:即先把主機的畫面搬到PC上,然後再對畫面里的幀率進行分析。在整個過程中,「搬」這個至關重要的步驟就由採集卡負責。我們都知道,一塊採集卡能把來自主機的信號轉換為電腦視頻文件,而這些可打開的視頻便為遊戲日後的分析埋下了基礎。不過在這裡,我想強調的是:這塊採集卡必須足夠貴,足夠高端(1080P 60FPS起步),也只有這樣,搬運自主機的視頻文件才能做到足夠「無損」。如果搬運來的視頻與遊戲實機畫面有出入,那麼測試結果準確也無從談起。這塊採集卡就要6000多RMB了拿到這些無損視頻文件以後,我們以遊戲《命運》為例,把它導入到DF自家的分析軟體FPS GUI中。在這張圖的左邊中,從上到下我們可以依次清楚地看到當前幀率,幀生成時間表,和幀率變化表。而在右邊的這些設置看似複雜,實際上與幀率測試沒有什麼太大關係。這些設置一般決定了圖表的顯示位置,顯示範圍,以及內部的顏色,字體等等。FPS GUI軟體概覽由於是初次導入,我們可以看到目前這些圖表的設置並不合理(顯示當前幀率的地方遮住了遊戲的HUD),在經過一些快速修正後,我們來看看成果。修正後的畫面然後我們再來看看喜聞樂見的跨平台對比,我們分別導入兩個平台的重複片段視頻,並設置成分屏顯示,在圖中我們可以清楚地看到左邊為PS4的幀率情況,右邊為XBOX的幀率情況,而圖表中不同顏色的線則代表不同平台。跨平台對比數據分析我們已經大致了解了這款軟體的工作方法,那就讓我們再次深入,一探幀率測評的究竟。這次我們從Composite(合成)選項卡轉到Video選項卡。現在,我們可以從右邊的information(信息)欄中一目了然地看到關於幀的詳細信息,下面我就對此欄做一個簡單的漢化。右邊有各項詳細信息視頻信息 幀信息總幀數:3224 幀數:第2840幀總撕裂幀數:3(0.09%) 是否屬於重複幀:否總重複幀數:1613(50.03%) 是否屬於撕裂幀:否平均幀率:29.98 撕裂幀位置:無最低幀率:29FPS 當前幀率:30FPS最高幀率:31.03FPS 渲染幀時間:33.33ms最高正常幀數:1到2621幀共2620幀最高撕裂幀數:2621幀到2623幀共2幀有了上表,我們就大致上了解遊戲的運行狀況,比如畫面撕裂是否常見,幀數是否穩定,以及當前幀生成時間(渲染幀時間)。那麼這些信息是否一定準確呢?有了這些信息是否就夠了呢?讓我們帶著這些疑問,進入下一個環節。畫面對比要說遊戲幀率評測的基本原則是什麼,其實很簡單,就是找到兩幀之間的不同。計算機直接導出的結果可能有誤,但逐幀對比一定沒問題,不過有時候它們之間的差別又很難用肉眼直接對比出來。這時候,這款軟體的熱點圖功能(heat map)就派上了用場。用於逐幀對比的熱點圖如圖所示,這就是該幀的熱點圖。熱點功能把對比定位在了像素級層面上:如果圖中的顏色越亮,代表著與前一幀的區別越大,黑色則代表沒有任何區別。而當我們把畫面移到下一幀時,我們發現整個圖像是暗的,這代表著這一幀與上一幀的畫面沒有任何區別。重複試驗,我們發現幾乎整個遊戲流程都是這樣的排布。全黑代表沒有區別其實在60幀格式下錄製的視頻中,像命運這樣鎖30幀的遊戲就應該有著一幀是重複幀,一幀是全新幀這樣的排布。而上述現象則剛好驗證了命運幀率為30幀的事實。我們再看另一組對比,這次我們依次導入PS版與XO版的《蝙蝠俠阿卡姆騎士》,與《命運》不同,《阿卡姆騎士》對主機的機能要求更高,所以我們在兩個平台上都找到了掉幀與畫面撕裂。因為掉幀很容易在幀率變化表中找到,而畫面撕裂則不然。所以找到畫面撕裂的時空位置又是遊戲幀率評測的一大重點。現在先讓我們切換到一幀有撕裂的地方。如圖所示,在PS4畫面的上部我們可以看到一個非常明顯的撕裂。這處撕裂實際上是由程序的演算法計算而來,並由短橫紅線標在畫面上,而圖片的下方紅豎線則表示撕裂的持續時間與撕裂的大致位置。左邊的畫面撕裂非常明顯前面這組圖片展示的可能不太清楚,那麼讓我們換張對比圖再做仔細講解這裡畫面撕裂非常頻繁如圖所示,首先我們要明白藍色代表XOS,綠色代表XO,在下方的幀率表當中,以橫中線為界(上為XOS的情況,下為XO的情況),表中豎中線代表當前幀。紅色所佔該線區域則為撕裂位置(所以我們看到XO的畫面上並沒有撕裂),而紅色區域則代表撕裂時間(兩個平台不分伯仲)。儘管這種紅線演算法省時省力,不過演算法總歸演算法,也會有出錯的時候。當我們覺得這幀撕裂的狀況不確定時,我們可以再次利用熱點圖進行像素級別上的對比。用熱點圖找撕裂位置就像我之前所說,如果圖中的顏色越亮,則代表著與前一幀的區別越大,純黑色則代表與前一幀沒有任何區別。從圖上我們可以看出上一幀的部分畫面在這一幀的上部出現了滯留(黑色部分)。因此我們看到了畫面撕裂。如果我們想讓這些區別顯得更加明顯一些,我們可以切換為黑白模式,在這種模式下,只有相同(黑)與不同(白)兩種表示方式,因此我們可以更加直觀地找出區別。註:上圖與下圖不為同一幀。用黑白模式找撕裂更明顯既然說到手動檢查,那麼我們不得不再提一下左下角的幀生成時間表。這裡的幀產生時間表不僅可視化了遊戲過程的流暢程度,而且我們還可以通過這個圖表來判斷幀率的測量是否準確。通過開頭的計算我們已經知道30fps對應的幀生成時間為33ms,如果在視頻的某個區間內出現了大量的掉幀情況,而幀生成時間還是維持在33ms左右,那麼測量數據里一定有一個不準確,所以這裡的幀生成時間就給整個測試上了一層保險。十分有用的幀生成時間表寫在最後最後其實我想說,對於玩家而言,測試主機幀率的實際意義與可行性並不大(光採集卡可能就已經比主機貴了),但是從側面來說,這也給了我們一個了解主機遊戲測評的機會,滿足了我們的好奇心。其實對大眾來說,做這種測試的最大意義還在於其輸出結果。通過幀率測試的數據,我們可以很直觀地看出一款遊戲的優化是否良心,或者該在哪個平台上購買該遊戲,這給玩家和廠商都是一個巨大的參考。下面就讓我們欣賞《仁王:PS4 vs PS4 Pro技術測評》(幀率測試從第五分鐘開始)
寫了
5860316篇文章,獲得
23313次喜歡