先用一張基本的圖片了解CPU與顯卡的運作原理

原圖出處
遊戲(影片)使用不同的API(DX9/DX11/DX12/OpenGL/DXVA)再透過Driver傳給顯卡指令運算
顯卡的GPU運算完畢後會放到顯卡的記憶體 最後再顯卡記憶體的內容轉成數位或類比信號輸出到螢幕
簡單說畫面是CPU+GPU合力計算的結果(廢話

那CPU佔全部工作的多少百分比? 10%? 20%? 30%? GPU又佔用多少百分比? 怎麼算出來的?
實際上CPU與GPU的工作佔比是由程式(遊戲)來控制的 有時候CPU比較多 有時候是GPU比較多
也就是要看當時的畫面來決定
注意同一個遊戲使用不同的API也會影響分配的比例!! 最明顯的就是使用DX12就比DX11表現還好
其實DX12就跟AMD Mantle一樣其目的是透過簡化程式碼 減少CPU不必要的運算 來提升效率
可憐短命的Mantle發行一年多就被後來的DX12取代...默哀

http://www.amd.com/zh-tw/innovations/software-technologies/mantle
我這邊用一個極端的程式FurMark來說明 大家應該都知道FurMark是顯卡專門來燒機的測試軟體
在測試期間 CPU的工作分配比例極低 GPU的分配比例極高接近100%
測試結果就如畫面所示 GPU滿載100% CPU使用率僅僅只有2%
(測試環境 CPU:FX8300 GPU:HD7790)

如果各位不相信 可以自己測試看看 FurMark下載網址 http://www.techspot.com/downloads/5462-furmark.html
由於每個遊戲CPU與GPU佔比不同 所以有的遊戲比較吃CPU 有的遊戲比較吃GPU 原因就在這裡
常有人問遊戲CPU到底重不重要? 我會說當然重要阿!!!
從上面的流程來看 無論如何 畫面都要先讓CPU算完之後 GPU才能計算
就結果來看 CPU效能越好 GPU越能發揮
但這邊有個盲點 假設CPU效能非常高無上限 GPU卻算很慢 會發生什麼事情?
情況就是CPU早早算完 再等GPU算上一張圖的情況
也就是當CPU效能遠遠超過GPU的時候 會造成CPU閒置 即使再怎麼提升CPU效能 FPS都不會提升
相反的CPU很弱GPU很強也會造成同樣的結果 只不過閒置的變成GPU而已
更精準的來說遊戲的每個畫面CPU與GPU佔比都不同
我這邊再拿一個比較明顯的遊戲來比較
這是刺客教條 大革命 Intel i7 4790k vs AMD FX 8350
i7 4790k的效能比 FX 8350好 尤其是單核性能兩個差很多
仔細看對照的話 可以發現在路人比較多的情況 i7 4790k表現得比較好 FPS硬是多了幾十張
但到最後屋頂時 兩個又表現得差不多
原因就是路人多的時候比較吃CPU 所以是GPU再等CPU 到屋頂時就反過來是CPU再等GPU
由於兩個使用相同顯卡 所以在CPU等GPU的情況下 表現結果就相同
以上都了解後 就可以更深入談論CPU的部分
其實只有在顯卡夠力的情況下 CPU的好壞差異才會比較明顯
原因就是避免出現CPU等GPU的情況 只要CPU閒置差異就會縮小 上面的影片屋頂的情況就是這樣
以遊戲來說CPU的單核效能重不重要? 當然重要!!
問題就在於多數的遊戲執行緒工作分配不均 造成某些核心的工作量比較重
單核效能越好就能避免這情況
這也就是為什麼I7-7700K 表現的比RyZen R7好的原因
(再次聲明顯卡夠力的情況下 差異才會比較明顯)
但RyZen超頻後 單核能力就與I7-7700K相差無幾 差異就會縮小
最近有人用CPU使用率來說明顯卡能不能全力發揮... 看了真的是很無言
對於顯卡來說 CPU是輕鬆算完(CPU使用率低) 還是辛苦的算完(CPU使用率高) 根本不重要
重點是CPU能多快計算完畢?
CPU使用率高但計算完的時間短 與 CPU使用率低但計算時間長
那一個更能發揮GPU效能? 當然是計算時間短的那個
前面已經說過CPU越快算完 GPU才能更早開始計算
什麼情況會CPU使用率低但計算時間長? 就是前面提到的執行緒分配不均的情況
主要工作集中到某幾個核心 單核效能又不夠 計算的時間當然會比較長
近期RyZen出來 我覺得對消費者是好事 Intel獨佔市場太久了
但推規推 提供更客觀的事實 不要拿RyZen的短處跟Intel的長處相比 看了真的很吐血

RyZen在同樣遊戲中使用率比I7低 這是優點不是缺點好嗎?
RyZen的CPU使用低 與顯卡能不能有效發揮也沒有關係
想要更有效的發揮顯卡效能 請超頻加強單核效能