原本在VRChat中遊玩時常在多人場景時有感FPS低下, 流暢度下降許多, 透過fpsVR這個steam插件了解到CPU frametime過高, 於是心生更換CPU的念頭, 在Intel 15代CPU上市之後看了各方評測, 在遊戲方面並無實質長進, 於是開始期待AMD的表現, 終於在上市之前各方也傳出測試數據, 可說是海放Intel的新U, 其他遊戲的表現可參考各家專業評測, 此篇主要是針對VRChat這個傳說中很耗CPU的VR Game的測試, 在不更換顯示卡與所有設定的情況下, 究竟能帶來多少提昇?
11/7首發當日在原價屋排隊有幸買到第73顆9800X3D, 經過幾天的裝機與測試, 在今天整理成本篇
VRChat是一個不容易測試的遊戲, 原因是變數過多, 在單人場景測試不出一般玩家所遭遇的卡頓感, 而多人場景又會隨著該世界玩家的avatar(角色模型)、人數、視角、有無鏡子...等不同而有效能差異, 因此本篇評測僅能作為不嚴謹的參考, 不能當作絕對數據, 此點還請閱讀者知悉
首先是將變數做一個小幅度的控制, 找了VRC中四位好友來參加此測試:
測試世界為: https://vrchat.com/home/world/wrld_f4648cef-9837-47bf-b793-f8465c089963
這是一個場景簡單, 但會抓取VRC遊戲回報FPS的世界, 主要負載便是玩家的avatar
這是一個場景簡單, 但會抓取VRC遊戲回報FPS的世界, 主要負載便是玩家的avatar
這個世界我在更換CPU前也來測試過, FPS輸給I9朋友一截, 即便顯卡相當但CPU不夠力也沒用, 現在則終於能讓GPU的使用率從50%上升到92%
(本測試請朋友將解析度都改為100%, 但後來發現部份朋友VRC反鋸齒是設為2X, 我和其餘人則是設定為4X)
在開了鏡子之後數據如下:
開世界鏡子的情況下, 整個世界與角色需要做將近兩倍的計算, 因此會耗用更多的CPU, 也會額外耗用GPU, 看起來只有PC Desktop不受影響
在此I9的數據過低顯得難以解釋, 我們嘗試著讓他調整VD與VRC中的各項設置, 最終仍無法找出原因
接下來是我自己換CPU前後的效能比較:
原CPU: Intel 13500 + 64MB RAM (未超頻, 出廠設置)
新CPU: AMD 9800X3D + 64MB RAM (未超頻, 除RAM改Expo讀取設定值外皆出廠設置)
顯卡未換: 同樣是4070Ti 以AfterBurner限制電壓, 跑2550Mhz, 90%效能)
以及真正多人場景的測試:
13500@MMD World (玩家數量14人)
( 上圖為原I5 CPU: 瓶頸為CPU Frametime = 29.9ms, 1000ms/29.9ms = 33FPS )
9800X3D@MMD World (玩家數量21人)
( 上圖為9800X3D: 瓶頸為GPU Frametime = 14.3ms, 1000ms/14.3ms = 70FPS理論值 )
13500@PyPyDance (玩家數量15人)
( 上圖為原I5 CPU: 瓶頸為CPU Frametime = 17ms, 1000ms/17 = 58FPS理論值, 但實際差距有點大 )
9800X3D@PyPyDance (玩家數量15人)
(上圖為9800X3D: 瓶頸為GPU Frametime = 7.7ms, 1000ms/7.7ms = 129FPS理論值, 但上限最高120FPS, 一樣差距頗大, 如果跑到鏡子範圍內測試則FPS會掉到80左右 )
9800X3D@PyPyDance (玩家數量36人)
( 上圖為9800X3D: 瓶頸為GPU Frametime = 22.1ms, 1000ms/22.1ms = 45FPS理論值 )
在週五晚上的熱門時段測試, pypyDance玩家數已來到36人, 設定中的最大顯示人數為30人, 需要打開解除限制, 讓36人全部顯示出來, 而FPS也因顯卡瓶頸掉到40左右
最後測試一個dc群提供的世界建議:
13500@Altissia (無其它玩家)
( 上圖為原I5 CPU: 瓶頸為GPU Frametime = 28.6ms, 1000ms/28.6ms = 35FPS )
這個世界在選擇高畫質的情況下所有物件都有材質貼圖, 景深又深, 能榨乾GPU資源, 即便是原I5 CPU也可以榨乾, 反觀CPU Frametime僅有10.6ms
13500@Altissia (無其它玩家, 但開啟攝影機)
僅開啟攝影機但無錄影的情況下, 可以看到CPU Frametime已經加倍了, GPU Frametime也進一步惡化, 實際上在VRC中開啟世界大鏡子以及開啟錄影機這兩件事都會相當大幅度的降低效能
9800X3d@Altissia (無其它玩家)
( 上圖為9800X3D: 瓶頸為GPU Frametime = 28.8ms, 1000ms/28.8ms = 34FPS理論值 )
在這個測試中可以觀察到, 9800X3D對此類地圖無幫助, 瓶頸仍為GPU Frametime
結論:
上面用於觀測的插件是Steam商店的fpsVR, 主要觀察GPU / CPU Frametime, 如果你目前的系統玩遊戲時, 呈現出CPU Frametime > GPU Frametime 的情況, 那麼換CPU一定會有幫助
但提昇能有多少呢?
以我從13500換到9800X3D來說, 可以說平均約有2倍FPS的提昇, 這和我常去的世界有關, 都是大量玩家集中在一個房間的類型, 每個玩家的avatar都有許多動態骨骼要計算(往往使用了10倍建議值以上的骨骼), 網路數據傳過來的是幾個關節的座標移動了, 而CPU在背後就要計算出所有相關聯的骨骼與表面, 這使得VRChat成為CPU相當吃重的一款遊戲
在此測試中沒有測試到的是1% Low的部份, 這在許多遊戲中都會測試, 也是對於流暢度影響最大的部份, 如最開頭所提, 由於變數過多此測試變得極為困難, 只能體感的告訴大家我日常在PyPy跳舞時, 原I5 CPU往往在做轉圈動作時呈現黑畫面, 原因是轉圈時視角快速變換, 且要立刻計算出原本不在視野中背面玩家的所有數據, 在CPU算力不夠的情況下就瘋狂掉禎, 導致畫面黑掉。
這個現象在換到9800X3D之後就沒有再遇到過了, 此外在FBT(Full Body Tracking)的情況下, 系統要額外收集8顆Tracker的數據進行每秒100次的計算與傳送, 也都是不小負擔, 以及我習慣開著錄影機錄影, 與PyPy世界有著世界大鏡子的原生設定, 都是導致CPU十分吃重的原因。
除了上面有貼圖的數據以外, 也到很多人常去的日本神社與JHP 3.0進行比較, 都有相當的提昇, 但這兩個世界更難以作為測試素材的原因是, 玩家不會集中在同一處, 根據當時分佈的情況本身就會有極大的不同
特別感謝:
kiosk2345@DC 提供測試建議與測試地圖
軒Xian@VRC 參與測試與提供測試地圖
培根Bacon@VRC 參與測試
PuringOHO@VRC 參與測試
intai_@VRC 參與測試