遊戲時 CPU 閒置率這麼高,為什麼不用來輔助顯卡?

遊戲時閒置率高是因為過去CPU的SIMD性能很差,導致浮點計算能力明顯低於GPU,所以適合並行的負載都給了GPU,導致CPU沒有太多高並行的負載,遊戲較老的圖形API對部署CPU進行密集計算的難度也較高,但目前CPU SIMD性能已經大幅提高,AVX/AVX2的運用已經比較成熟,憑藉CPU的訪存優勢,其在雖然理論浮點峰值還不高的情況下,憑藉更強的通用性,處理分支,邏輯與密集計算混合的負載有非常好的適應性,其實已經有越來越多的遊戲在考慮使用CPU進行渲染,尤其是光線追蹤這種時下比較火熱的遊戲技術話題,本身用於計算射線在空間中的折射,反射,吸收,每條射線可獨立計算,適合,向量化等並行手段,CPU多核高SIMD支持一樣能帶來出色表現

Intel Embree光線追蹤庫已經被廣泛用於渲染軟件,如CineBench,blender,Vray,3DS MAX,使得其最新版本都開始支持AVX/AVX2用於電影級的每幀形式的光線追蹤渲染(視實際優化而定),而遊戲時實際上每幀的渲染是不需要如同電影動畫那樣高細節的渲染的,憑藉Embree的並行化,向量化優勢,CPU同樣可以在渲染任務上表現出色,GPU受制於全局光照/光線追蹤算法帶來的隨機/非連續的內存訪問和不規則的計算任務分佈,會使得其受制於PCIe帶寬,PCIe延遲,需要遠處訪問DRAM等問題,實際表現並不會就一定明顯強於CPU,2個8180在Intel AVX512優化的Ospray渲染器中,是可以面對2個P100甚至V100的,當然隨著RTX GPU的加入,GPU勢必會在這方面繼續提升

遊戲時 CPU 閒置率這麼高,為什麼不用來輔助顯卡?

但Embree的確不僅僅用於我們的電影視頻的渲染器,的的確確已經開始在遊戲中運用

遊戲時 CPU 閒置率這麼高,為什麼不用來輔助顯卡?

育碧,valve已經開始使用Embree用於遊戲,大量育碧遊戲因此充分發揮了處理器的多線程性能,同時運用AVX/AVX2指令集,保證Intel處理器面對AVX性能較低的Zen/Zen+處理器有良好表現,比如valve的CS GO,Intel就能明顯戰勝AMD Zen處理器,一時被罵作A黑遊戲,實際AMD Zen2提升了AVX單元后,一躍成為AMD官方首要宣傳遊戲,所以下次有人跟你說XX遊戲沒優化AMD,要想想是不是AMD本來就不行,而且CPU性能得以發揮,CS GO中500,600甚至更高幀數也是層出不窮,多核處理器表現的確提升

而最近,Intel聯手坦克世界也推出了光線追蹤遊戲引擎

遊戲時 CPU 閒置率這麼高,為什麼不用來輔助顯卡?

隨著IceLake處理器為代表的Intel新架構處理器(包括RocketLake/TigerLake)全面支持AVX512,未來光線追蹤在遊戲中的表演,絕不只是GPU,其實光線追蹤,渲染只是一個比較大的,能充分利用多核性能的點,未來更多的並行負載也能同時被CPU GPU支持,根據需要充分發揮用戶硬件機能的做法會越來越多,越來越常見


分享到:


相關文章: