[法環] PC 版效能問題解釋與平台選擇建議
根據 Steam 板板友建議重新整理文章,貼過來提供點資訊。
本文的目的是要協助解釋清楚 PC 版的效能問題,降低偏方的嘗試並且順便給一點平台選擇的建議。
根據官方持續修正,這邊的內容適用性可能會產生變化,還需要未來版本玩家閱讀的時候再自行做一些判斷。
這篇的內容目前僅以現行版本 1.0.2 為準。未來可能會變更好或更糟,不知道。
結論先。
目前的效能主要受到兩件事情影響:
-DX12 著色器編譯(Shader Compilation)
-資料串流
兩件事情都嚴重受限於 CPU 效能,也導致目前玩家真正能改善遊戲表現的方法只有:
-使用單核效能越強越好的 CPU
-使用不需要即時編譯著色器的平台(Xbox、PlayStation)
-使用 Linux 遊玩 Proton 模擬的版本
不然就只能等 From Software 修好,除此之外任何其他現行手段全部都是偏方(以為有用,但實際上完全沒用的手段)。
而現行版本根據遊玩體驗的推薦順序大約為:
1. PC 版(如果擁有極強單核效能的 CPU 或者用 Linux 玩 Proton 模擬版)
2. PS5 遊玩 PS4 版(穩定 60FPS)
3. 搭配 VRR 遊玩 XSX 版
4. PS5 版(平均 FPS 接近 60)
5. PS4 版(平均 FPS 在 30,但是有不穩定的 FPS 限制器)
6. PS4 Pro、Xbox One X 與一般情境下的 PC 版
(根據偏好取捨,前兩者穩定但 FPS 低,後者可以有高 FPS 但是容易瞬間不穩定)
7. Xbox One 版(還是別玩了吧)
接下來會開始解釋詳細原因,但大多資料源於以下三部分析影片,如果可以英聽的話直接去聽這三部最實際。
Digital Foundry 的:
https://youtu.be/5EtcrUrsl38
https://youtu.be/uVcfiBnX1c0
The Best Ways to Play on Next-Gen Consoles
https://youtu.be/repwHeJYwFk
Do You Really Need A Console Upgrade?
我這邊的解釋基本上可以說是翻譯這三部影片的結論,加上我自己電腦執行起來的狀況佐證。
接下來的解釋會分為幾部分:
一、名詞解釋
1. 卡頓(Stutter)與理想的遊戲體驗
2. 受限於 CPU、GPU(CPU、GPU Bound)
3. DirectX API
二、PC 版效能問題解釋
1. DX12 著色器編譯問題
2. 資料串流問題
三、為何 Linux 版沒有這些問題
四、常見問題回答
一、名詞解釋
1. 理想的遊戲體驗與卡頓(Stutter)
理想的遊戲體驗是完全穩定的 FPS,其次才是越高 FPS 越好。
舉例來說一個 60Hz 的螢幕就是每秒更新 60 次畫面,所以 60FPS(每次更新畫面)與
30FPS(每兩次更新畫面)都是理想的體驗。然而完全穩定的 30FPS 體驗遠優於平均起來接近 60FPS 但是不穩定的畫面。
所以當 FPS 不穩定時,就稱之為「卡頓」(Stutter)。
2. 受限於 CPU、GPU (CPU、GPU Bound)
一款遊戲執行起來的狀況主要受到 CPU 與 GPU 影響。
雖然過去十年遊戲越推越多多邊形跟畫面特效,讓玩家容易把遊戲跑起來卡直接跟 GPU 不夠好連結起來(受限於 GPU;GPU Bound),但是根據遊戲設計,可能會是 CPU 不夠好導致遊戲執行不順(受限於 CPU;CPU Bound)。
簡易的辨識法是:
-受限於 GPU 時,GPU 使用率會在 100%,與此同時 FPS 不穩定
(會出現平滑但波動的線條: https://imgur.com/5pAetrZ )
-受限於 CPU 時,GPU 使用率不會達到 100%,與此同時 FPS 有嚴重的不穩定
(會出現像這樣的雲霄飛車: https://imgur.com/qNCDIhH )
當受限於 CPU 時,因為 GPU 達不到 100%。所以就算你有全世界最好的顯卡,或者把解析度、特效設定降低都沒有幫助。
3. DirectX API
要遊戲開發者直接跟電腦硬體解釋他該做什麼有點困難,所以通常開發者會找個翻譯去跟電腦硬體溝通。Windows 專用的這個翻譯叫做 DirectX,現在最新版本是第 12 版簡稱
DX12,第 11 版稱 DX11。
就醬。
二、PC 版效能問題解釋
1. DX12 著色器編譯問題
著色器(Shader)可以很粗略地解釋為顯示卡要知道怎樣顯示一個東西的手段,稍微不幸的是這個東西要針對每個電腦配備重新產生一次,這個過程要用 CPU 來編譯。
由於家用主機硬體配置是固定的,所以開發者可以預先編譯好主機需要的版本。
因此只有 PC 版需要現場即時編譯。
在 DX11 時,DX11 作為一個翻譯會偷偷地幫開發者處理好,而且是在不影響遊戲本體效能的情況下進行。然而本次法環只使用 DX12,DX12 將處理編譯的工作交給開發者分配,沒有特別處理的情況下就會在要顯示的當下編譯。
所以 PC 版會發生卡頓的時機大概就是:
-第一次跳躍
-第一次攻擊
-王的每一個新招
任何一個視覺效果第一次出現的瞬間,所以甚至可以半開玩笑地說王的花招越多,你的遊戲就會卡得越慘。
好消息是只有第一次出現時需要編譯,所以某方面來說你的遊戲會越玩越順。
直到遊戲更新一次,你就要全部重新計算。
2. 資料串流問題
其實應該不是很需要解釋吧,就是開放世界要根據玩家位置載入不同東西,因為不可能同時載入全部所以進進出出就會需要 CPU 做事。
應該所有玩家都會在引導之始的大樹守衛和風暴山丘卡得比較嚴重,這就是資料串流造成的。無論遇上幾次都會發生。
至於要解釋 From Software 的資料管理不理想之處的話......參考這則 Twitter 顯現玩家在地下洞窟探索時,實際上載入的地圖到底有多大:
https://twitter.com/manfightdragon/status/1502559578315112448
但當然所顯現的那些模型應該都是超低精細度的遠景用模型,佔據記憶體總量應該沒有很多,頂多只能說不夠理想 XD
三、為何 Linux 版沒有這些問題
一般情況下 Linux 不能直接執行 Windows 程式,所以為了讓 Linux 使用者能更順利地遊玩 Windows 遊戲而不需要開發者製作 Linux 版,Valve 製作了名為 Proton 的另一層翻譯讓 Windows 遊戲可以直接在 Linux 上執行。
簡單來說一般的 Windows 遊戲是這樣執行的: https://imgur.com/CvE96rz
使用 Proton 在 Linux 上執行 Windows 遊戲長這樣: https://imgur.com/kiq1GPA
所以 Proton 可以攔胡指令,偷偷改成比較理想的形狀。而 Proton 也會預先根據你的硬體配置下載好你需要的已編譯著色器(Compiled Shader),讓你執行遊戲時不需要現場另外計算。
因此目前 Linux 版透過 Proton 模擬意外成為 PC 版本中最順暢的版本。
四、常見問題回答
Q:可是我[插入某個偏方步驟]後遊戲變順了?
A1:可能是錯覺,因為上述第一個問題只有在第一次遭遇的時候會卡,所以你遭遇後使用了偏方,然後回去重複第二次就不會卡了。
A2:呃,恭喜你解決了某個跟上述無關的你專屬的問題,你接下來還是得面對上面相同的問題。
Q:什麼是極強單核效能的 CPU?
A:講簡單點,AMD Ryzen 5000 使用者和 Intel 12 代 CPU 使用者應該玩得都順很多。
Q:可是我用[插入硬體配備]跑得很順啊?
A:遊戲客觀跑得很爛,但每個人對遊戲執行順暢度的容忍度差異很多,自己可以接受的話很好,但不是拿來說其他人也應該要接受的藉口。
Q:可是我用[插入硬體配備]可以穩 60FPS?
A:除非你有單核極端強的 CPU 不然這是不可能的。平均起來可能會很接近 60FPS,但是一定不是真正的完全 60FPS。(我的 CPU 是 AMD Ryzen 5950X 的情況下在湖邊站著不動都會在 58~60FPS 之間跳動)
Q:DX12 的鍋啦!
A:是 From Software 選擇使用 DX12 然後沒用好的鍋,並且還在沒有處理完問題的情況下就強行上市。
Q:From Software 技術力不夠啦,不要再繼續用客製引擎,去用 Unreal Engine 啦!
A:Unreal Engine 還是要面對相同的問題......參見另一款有著幾乎一模一樣的問題的Unreal Engine 遊戲: https://youtu.be/yV0kDvZqNpI
Q:如果我想要驗證一個偏方有沒有效的話該怎麼做?
A1:驗證對著色器編譯的幫助的話,可以刪除已編譯著色器暫存檔然後重新測試,但要確保你觸發的是相同的視覺效果可能很難,畢竟同一招可能會有四五種特效變種版本。
(NVIDIA 的暫存檔在 C:\Users\[使用者名稱]\AppData\Local\NVIDIA)
A2:驗證對資料串流的幫助的話就試著重複在參考上述有顯著資料串流卡頓的地方走相同路徑,紀錄 FPS 狀況對照。
Q:From Software 什麼時候修得好?
A:我不會通靈,但是遊戲開發真的很複雜,所以短則一天,多則半年都有可能。
以上提供參考,有空的話我會試著多回答點問題,但不保證。
--
以黑魂一的經驗,玩家快修好了
我玩法環都玩到CPU過熱QQ
並沒有 我5900X 頓成狗
AMD現在單核又輸了 R23 大概1500分 12代i皇 有1900分
如沒意外依照慣例 等官方還不如靠民間玩家
搞這麼麻煩乾脆不要玩了
都沒提到EAC問題耶..
所以才有那種偷改dx12的偏方阿
我i12的不會卡 3700的偶爾會掉禎
EAC肯定是會影響的吧.w.
因為eac問題直接關掉就好了不用提吧,那也不是fs能修的
推,這篇超需要
我覺得我自己pc大作玩太少反而覺得很順
除了剛出關的大樹跟後面化聖雪原井噴靈廟我是還沒有特
別FPS大爆噴過
其實如果要鎖60,沒必要用到DX12,DX11就好了
3900X+3080
Ue4很可怕,FF7remark不改CG會卡
推分析 結論FS太廢
主要是我用144HZ的螢幕 60看起來又更卡了..
不只顯卡要夠力CPU也要夠力
還有圖那個G胖 笑了
而且這代畫面全開也沒特別好
然後我感覺它們技術不足的問題會越來越嚴重
看steam版文章就是DX11有些功能到DX12變成開發者自己要負責
螢幕2K170自己是還沒接枝貴族就在NV面板試垂直同步哪個
好了
FS沒有處理到這塊
不然60配撕裂畫面實在太美
本質上還是主機安定
日廠通病 技術不夠
對開發者而言腳本式api太甜蜜了,使用起來比編譯式api容易
我是建議不要開 Steam 的 shader pre-caching 啦
如果你遊戲很多,那你每天開 Steam 都會下載下到死 XD
mesa 自己就有 local 端的 shader cache
NVIDIA 就 ... 請有卡的人補充
推分析
推
著色編譯在硬碟讀取跟不上的時候,會發生大量卡頓,例如
剛傳送到新地方或出洞窟,這是PC老問題了,很多遊戲都這
樣
5800X正常玩,沒頓過
3050 連續玩8個小時大概有兩次極短暫卡頓 可以說完全
順跑
原來dx12預設不會先編譯shader...
5600X+3060 跑1080還是會飄== 只是大部分都是穩60,
兩個使用率都很低
真的等N網玩家自己修算了
上面AMD如果卡頓先到BIOS關fTPM或改Windows 10,已經
有證實AMD有核心bug
Intel 12代一定要上11才有大小核能力發揮,AMD最近發
現一個致命問題就是fTPM會導致整體效能下降甚至爆音的
情況。所以AMD平台請先暫時不要跟風去升上Windows 11
推
所以steam deck反而比較順 可以
Win10一樣要關?
結果我根本沒開起來過
fTPM AMD BIOS預設是開的(最近三年的電腦,更之前的
不確定),就算沒用也要關。原因是amd在開機的時候就
將記憶體圈了一部分去做加密資料,然後那區資料會有來
不及釋放的問題,造成整體效能下降
AMD user比較尷尬的是,這並不是法環的包
所以現在是linux玩家的勝利了嗎 連os也要魂系一下
從來沒因為怪物出招卡過,都是在特定點,像是大樹或
是下水道卡頓
推
推專業
linux steam proton跑起來最順,有相關資料嗎
何來最順之說
3/17 補個 Steam Deck 測試影片:
https://youtu.be/o1HuX2_Hhss
裡面還有對照 Proton 修正前的表現。 算是相對性的,所以我才在前面先假定「理想的遊戲體驗」是「FPS 越穩定越好」。 理論上 PC 平台可以藉由無上限的硬體來撐起遊戲體驗,但因為現在著色器編譯的實作方 式導致物理上不太可能有硬體可以取得完美無瑕的體驗(=完全穩定的 60FPS),頂多相 對能被接受。 後述 Proton 因為解決掉這部分的問題,所以雖然透過轉譯執行,平均效能應該要是下降 的,但由於不會撞到編譯造成的卡頓,穩定度反而比較高。 簡單來說就是同硬體雖然平均 FPS 不一定比 Windows 高,但是 95%、99% FPS 測起來都 會比現行 Windows 版高非常多。
※ 編輯: dklassic (1.169.124.97 臺灣), 03/15/2022 01:52:37 ※ 編輯: dklassic (1.169.97.86 臺灣), 03/17/2022 02:27:14 ※ 編輯: dklassic (1.169.97.86 臺灣), 03/17/2022 02:35:16還好我用Debian 爽 AMD + Proton-GE
爆
[問題] 求推薦打擊感爽快畫面又好的遊戲前陣子顯卡降價又不限組 原本買3060ti的預算瞬間可以買到3070ti 平常只有玩歐卡2 現在特效全開還是效能過剩 (X 想趁這次找一些高特效畫面遊戲來燒顯卡 不一定要大作 玩起來符合需求 夠爽就好 這種遊戲找很久了 但不知道是我不太會形容 還是真的這類的選擇較少爆
[情報] 艾爾登法環 PC版銷量僅用一週便突破千萬Elden Ring has reportedly sold 10 million copies on PC in a week MARCH 4, 2022 JOHN PAPADOPOULOS -83
[討論] 三星GOS限制上萬App效能 不包括跑分軟體三星本身就自有一套GOS(Game Optimization Service)軟體 用以優(限)化(制)遊戲的效能 而根據韓國社群的討論 他們發現了這個GOS不單單限制遊戲的效能 甚至連普通的APP也都會 限制63
[問題] 為了法環有GTX 1070ti升級成3060ti的必要如題 上一週剛上線前幾天玩都蠻順 雖然沒辦法穩60 但至少fps應該都在50左右沒問題 結果假日不知道為什麼忽然開始超卡頓 fps常常50掉到卡在30幾 且會忽然掉幀 不論怎麼調整遊戲特效都一樣 打開工作管理員大法也無效 目前是使用1070ti 我知道3060ti應該還是沒辦法2K穩60fps 但至少效能比1070ti強30%左右55
Re: [問題] FS社弄優化都這麼慢的嗎?先說沒有,嚴格來說 PS5 版比 PC 版還順,以下解釋。 基本上目前所有解法其實都是偏方,當然如果意外因此跑得很順的話......恭喜? 除了 Steam 的 Linux 模擬層 Proton 自己偷偷幫法環修好了以外 XDDDDD 先解釋清楚一下這次 PC 版卡頓的主要理由是因為 DX12 Shader Compilation。30
[心得] 類魂遊戲的理想巔峰:《艾爾登法環》文長,連結如下: 【魂系還能走更遠!我們所期望的宮崎英高:《艾爾登法環》簡評】 慣例先節錄條列式特色,給還在觀望的玩家做參考: -----------------------24
Re: [問卦] 不是設計系的 買Mac有什麼優點這問題蠻簡單的吧 MAC自從M1這顆SoC橫空出世後 對於文書筆記本這塊市場M1 Macbook Air就變成一個非常香的選擇 原因大致上為以下 1. 效能upup19
[問題] FF13 版本平台問題趁現在XGP把FF13三部曲全上架了,整理了 一下FF13在pc的xgp與xbox的xgp差異性 FF13 PC版 容量:56G 有中文字幕 xbox版 容量:30G,主機版中文是索尼獨佔,7
Re: [閒聊] Vampire survivors 性能問題Vampire Survivor 效能需求應該是從兩個要素來的: 1. CPU 單核效能需求 雖然 GPU 性能日益大增,但是 CPU 的效能就沒有顯著的提升。 舉個差不多十年前頂標的例子跟現代頂標 CPU 比較(參考資料來自 Geek Bench): CPU |Intel i7-2700K(2011)|AMD 5950X(2020)
爆
Re: [新聞] 台文館吉祥物遭中國網友抄襲爆
Re: [新聞] 台文館吉祥物遭中國網友抄襲爆
Re: [新聞] 台文館吉祥物遭中國網友抄襲爆
Re: [新聞] 台文館吉祥物遭中國網友抄襲76
Re: [新聞] 台文館吉祥物遭中國網友抄襲59
Re: [新聞] 台文館吉祥物遭中國網友抄襲29
Re: [新聞] 台文館吉祥物遭中國網友抄襲49
Re: [新聞] 台文館吉祥物遭中國網友抄襲47
Re: [新聞] 台文館吉祥物遭中國網友抄襲45
[閒聊] 找林家龍來合作就沒事了吧?44
Re: [新聞] 台文館吉祥物遭中國網友抄襲44
[閒聊] 我開始做 AV 男優了 78 潮吹61
[問題] 暴雪是怎麼把一手好牌玩到爛光光的37
[閒聊] 24春巴哈番中期小評36
[問題] 鬼滅之刃和新石紀那個後面做的比較爛?30
[閒聊] 男大生用傳說對決造型誘少女拍性感片30
Re: [新聞] 台文館吉祥物遭中國網友抄襲28
[閒聊] 吉祥物 台灣阿龍?43
[閒聊] 初鋼可以打爆黑騎士嗎?28
Re: [問題] 對岸的ML文化是否不太健康25
Re: [新聞] 台文館吉祥物遭中國網友抄襲37
[閒聊] 真正毀掉大型電玩(街機)的還是科技吧33
[Vtub] 5/14同接鬥蟲23
[24春] 蔚藍檔案 06:大叔有點可愛20
Re: [新聞] 台文館吉祥物遭中國網友抄襲19
Re: [新聞] 台文館吉祥物遭中國網友抄襲21
Re: [問題] 暴雪是怎麼把一手好牌玩到爛光光的18
[閒聊] 修塔爾克:?????????51
[閒聊] 鐵道大師請進15
Re: [問題] 暴雪是怎麼把一手好牌玩到爛光光的