遊戲的「掉幀」是什麼原理?有哪些方法可以緩解?

大家經常談掉幀,部分遊戲會出現從 120 以上 FPS 驟降的情況。請問是什麼原因,有哪些是玩家可以做到來防止類似情況的呢?


目前主流的渲染方法貌似還是以雙緩衝交替渲染為主,那麼就拿這個舉例子好了。

簡單的解釋就是,顯卡無法在一幀的時間內渲染完一幀的內容,因此只好繼續把上一幀的畫面輸出到顯卡。

複雜的解釋如下。

顯卡渲染一幀畫面需要經過一大堆過程。首先是寫渲染指令隊列,然後把隊列傳輸到顯卡上,同時擇機把貼圖傳輸到顯卡上。之後,顯卡首先把模型變換到正確的視角上,然後計算貼圖光照等等,計算結果寫到幀緩衝上,最後把幀緩衝輸出到顯示器。

其中,顯卡性能不夠是會導致掉幀,但是不會突然毫無徵兆的掉幀。通常突然掉幀但是很快恢復的,其實是IO卡住了,有可能是在等讀盤,也有可能是在等貼圖載入到顯存中。

解決方法嘛。。。給電腦清個灰可以解決性能不足的問題,但是IO方面,如果做了碎片清理還是沒有改善,就可以甩鍋開發者了。

如果你是開發者,可以考慮想辦法提高顯存利用率,合理載入緩存、利用預緩存隊列什麼的。。。不過除非你自己寫引擎,基本上沒什麼機會幹這些事了233


掉幀就是機能不夠用的時候電腦偷懶,就好比做作業時腦子不夠用了偷個懶空道題

「更準確一點其實是答應用題的時候腦子轉得比手寫得快,部分計算過程就省略不寫了。」

--- @歐富橙


非專業的隨便扯兩句

掉幀大部分情況都是硬體不足引起的,個別情況可能是開發者沒有優化好

大部分情況下,遊戲能穩定保持60幀已經是流暢,個別有寫輪眼的還堅持要90幀,120幀?抱歉,我沒見過也分辨不出……

你所說的120幀突然掉下來,我能想到的情況就是爆顯存,來塊610瘋牛病如何(滑稽)

避免掉幀的情況,主機玩家沒有太好辦法,pc玩家可以通過更換更好的硬體以及優化系統環境,降低遊戲畫質來改善


不一定是120以上驟降,廣義上只要與平穩運行相比出現大幅度的幀數不足就可以被稱為掉幀。何為平穩運行根據遊戲的設置而定,例如車槍球基本為30,動作遊戲和格鬥遊戲大多為60,怪物獵人3G~4G為40上下。

現代遊戲的幀數並不是定死的,因為遊戲的畫面與遊戲的邏輯採用分開處理的方式。在處理部分複雜的畫面運算時,作畫幀數無法保持穩定輸出,單幀作畫的時間變長了,一秒能輸出的幀數變少了。

老遊戲也是存在「掉幀」現象的,最經典的就是《metal slug(合金彈頭)》系列,不過這種「掉幀」一般稱為拖慢。拖慢的成因和跳幀基本相同,都是因為畫面要素太複雜無法保持原本的作畫頻率使得每秒的幀數下降。拖慢和掉幀的不同在於對幀數不足這一現象發生後的處理。如前述,現代遊戲的邏輯和作畫實際上是分開的,而老遊戲則二者捆綁在一起。現代遊戲發生掉幀後會採用跳過一部分「應當被作畫」的內容,直接繪製當前時間應當繪製的內容;而老遊戲則是傻傻的等到作畫完成後才開始計算之後邏輯,拿到下一幀該顯示的內容後再作畫,作畫和邏輯交替進行,不存在先算了下兩幀的邏輯的情況。

要減少掉幀現象,關鍵是軟體方面減少單幀作畫的內容的複雜程度,提升硬體反倒應該是其次。關閉各種特效,降低貼圖質量,關閉抗鋸齒來減輕硬體負擔。不過瞬間的作畫工作量爆炸在現代遊戲里是稀鬆平常的事情,所以一旦遇上各種爆破,畫面內容物驟增,肯定會出現幀數下降的情況。所以上述的方法主要還是以提高幀數、降低負擔為主要目的。

一種簡單暴力但是很好用的減少掉幀現象的方法,便是鎖幀上限。如果全力運行,幀數在70~100之間遊走,那我鎖了幀上限60,想讓幀數維持在60是很輕鬆的事,便不存在掉幀。平時工作只需要10個人就夠了,但是實際上還有5~6個人沒事做,這樣等到工作量突然增大時,這5~6個人可以馬上頂上來,保證工作按時完成。

至於提升硬體來減少「掉幀」現象,這個說法存在問題。提升硬體改善的是硬體的作畫能力,把同等質量下原來只能每秒畫30張變成每秒能畫60張,但是作畫一旦複雜起來照樣要降低每秒能作畫的張數。難倒300FPS變成250FPS就不叫掉幀了嗎?


部分遊戲會出現從 120 以上 FPS 驟降的情況。請問是什麼原因?

原因:猛回頭

有哪些是玩家可以做到來防止類似情況的呢?

防止的辦法:沒有辦法

這是因為優化好了,才能120fps偶爾降到30fps的。

如果沒有優化,那就是全程保持30fps了。


fps不穩定 抖動大 一會60 一會40 一會20 變來變去 導致60幀感覺還沒別人30幀穩

解決嘛 挺簡單 無非是垂直同步+動態模糊

做得好的動態模糊可以像電影一樣 30幀玩起來如60一般


把遊戲特效調到最低,或者換電腦。

當然你可以通過腦補來強行60幀


其實一味追求120也沒多大必要,首先你顯示屏得是120赫茲以上的,其實你得是寫輪眼看得出來,我的要求是60幀,再不濟30幀也行。掉幀要麼是優化問題,遊戲廠商背鍋,要麼是硬體問題,如果能長時間保持60以上的幀數,我覺得更可能是遊戲問題。要是幀數過低,要麼是CPU瓶頸,要麼GPU瓶頸,或者兩者都有,解決這個問題主要就是靠價錢換硬體

如果沒錢,我還有一個好辦法

眨眼 ,畢竟一幀能玩,兩幀流暢,三幀秒殺

眨眼補幀大法好


關閉cpu節能 鎖定頻率 手動拉高顯卡頻率

以上操作沒用的話 建議加錢


除了最重要的硬體,還有散熱和電源問題

太熱了,CPU為了自身安全,會降頻,減小功耗

沒插電源,大多數(注意,大多數,不是所有)電腦會自動進入省電模式,使得CPU降頻或減少工作核數

想要解決,換電腦,清灰。一般大家都是連著電源玩,所以突然出現卡頓,可以看看是不是插頭鬆了


可以換電腦,然後所有問題都就解決了。。。。。。。。。

次一級的辦法是升級電腦。。顯卡 cpu 固態硬碟 內存 一套下來應該也能解決問題。

不想花錢的話,超頻也是好辦法。

不想費事超頻的話 可以試試把遊戲效果調低一點。

還不滿足的話 可以試試清理磁碟、重裝系統等辦法。


大概是錢沒上夠的原因吧


買個新設備就能解決


原理...看別人的吧...

多年玩遊戲,方法還是有很多。

1:買個更好的電腦。(有錢任性)

2:陰影特別影響幀數,把陰影全調最低(其實陰影效果玩起來大部分人看不出區別)

3:注意散熱:電腦一熱,什麼配置都會掉幀,(尤其是筆記本電腦)


簡單有效的方法就是關特效,調低解析度。

有錢的話直接升級配置更有效



有可能是過熱降頻


掉幀基本都是硬體問題,要麼把遊戲設置調低,要麼就只能升級電腦。。。


推薦閱讀:

是否手柄在替代滑鼠,主機在替代PC?為什麼?
為什麼PC配置比PS4好那麼多,然而幾年後卻不如PS4,玩不了大作?
《絕地求生:大逃殺》中你最滿意的服裝搭配是什麼?
Steam的用户协议究竟都说了些什么?
絕地求生優化了這麼長時間也獲得了很多盈利,為什麼伺服器還是會經常崩潰並沒有明顯的優化進步?

TAG:電腦遊戲 | 遊戲 | 家用主機遊戲 | 單機遊戲 |