Re: [閒聊] Vampire survivors 性能問題

作者: dklassic (DK)   2022-03-04 18:42:15
※ 引述《Senkanseiki (戦艦棲姫)》之銘言:
: 如題,明明不是說什麼繪圖多精美的遊戲,為什麼那麼吃效能阿
: 印象中會比較吃效能的通常是那種3D很精美的遊戲,但這款顯然不是
: 有玩的就知道後期敵人一多,電腦性能不夠好就很容易卡
: 但那種90年代風格的遊戲放到現在的電腦竟然還會卡老實說有點令人意外
: 他是程式寫得很冗嗎?
Vampire Survivor 效能需求應該是從兩個要素來的:
1. CPU 單核效能需求
雖然 GPU 性能日益大增,但是 CPU 的效能就沒有顯著的提升。
舉個差不多十年前頂標的例子跟現代頂標 CPU 比較(參考資料來自 Geek Bench):
CPU |Intel i7-2700K(2011)|AMD 5950X(2020)
單核|797|1686
多核|3022|16565
也就是這十年的時間雖然在最大效能(多核)上變成了五倍以上,但是單核效能也不過就
到了兩倍多。大多數程式都還是很仰賴單核效能,所以現代電腦對單一程式處理能力也
不過是十年前的兩倍多。
作者有提到說 Vampire Surivor 現行版本是使用 Electron、Chromium 製作的,所以他應
該是用很吃單核性能的方式在寫 Javascript。
2. 現代 GPU 成長特化 3D 渲染
雖然純粹看計算能力來說現代 GPU 似乎大增許多(參考資料來自 Geek Bench):
GPU |NVIDIA GTX580(2010)|NVIDIA GTX3080(2020)
分數|14796|180997
基本上是十幾倍的增加。
但是現代 GPU 架構並不是為了 2D 圖像顯示而設計的,是為了上百萬多邊形的 3D 模型計
算而設計的。所以雖然可以顯示的多邊形數確實增加了十倍以上,但對於 2D 圖像顯示就
沒有真的獲得這麼大的優勢了。這個問題在 Ori and the Will of the Wisp 團隊就有遭
遇到,雖然是個 2D 遊戲,但是為了推出在 Switch 上還是得花很多努力。
參考影片: https://youtu.be/HxOUpb5UrRk (英文)
簡而言之,雖然是個普通的 2D 遊戲,但是可能:
-遊戲邏輯計算單核需求過高+沒有善用多核
-畫面計算需求龐大不適合現代 GPU 處理
基本上也是為什麼還是有一堆看起來畫面很簡陋的現代遊戲效能需求卻很誇張。
但要說能不能做得更好,答案是非常肯定的。
回頭去看 RollerCoaster Tycoon(1999)的資料處理規模遠大於現代很多遊戲,當時的電
腦硬體更爛,卻可以匪夷所思地順暢執行。
Vampire Survivor 的作者看起來有公告會平行在其他架構、引擎上重製這款遊戲,讓遊戲
可以跑得更順。
作者至少還是可以做努力改變資料結構最佳化單核表現,甚至進一步改寫成適合多核心平
行計算的版本,就有望讓遊戲跑得更順暢。
大概這樣參考參考。
作者: a3831038 (哭哭傑)   2022-03-04 18:47:00
但我看使用率每個核心都有平均使用欸
作者: justwedave (dave)   2022-03-04 18:48:00
js 就 single threaded
作者: spfy (spfy)   2022-03-04 18:50:00
我說那個JavaScript就是遜啦
作者: henry12188tw (onlyforever)   2022-03-04 18:54:00
我用文書機玩都不會卡欸
作者: horazon (Horazon)   2022-03-04 18:57:00
碰撞可能也有差 不確定各種碰撞是照圖片或簡單方塊/圓形引擎實作方式也有差 Unity新的ECS應該蠻適合這遊戲
作者: daidaidai02 (不推理的名偵探)   2022-03-04 19:26:00
把2d遊戲做成3d遊戲就能得到那個進化的效能嗎? fgo也是為此才做成假2d的嗎?
作者: a3831038 (哭哭傑)   2022-03-04 20:14:00
平均都20%左右而已,可能就是你說的那樣
作者: tsubasawolfy (悠久の翼)   2022-03-04 20:51:00
就吃單核頻率而已
作者: daidaidai02 (不推理的名偵探)   2022-03-04 22:01:00
感謝長文解析

Links booklink

Contact Us: admin [ a t ] ucptt.com