題:
確定遊戲是否受CPU或GPU限制
Mad Scientist
2010-12-03 01:24:20 UTC
view on stackexchange narkive permalink

確定某款遊戲是受圖形卡還是受處理器速度限制的可靠但不太耗時的方法是什麼?

我對我是否大部分時間有先入為主的觀念GPU或CPU受限制,但我想驗證一下我是否正確。我有一些想法,我將如何進行測試,但是眾所周知,執行準確的基準測試很棘手,而且我對此沒有太多經驗。

所以我想知道一種簡單的方法來確定瓶頸,即只有一台具有特定配置的計算機可用嗎?我將使用哪些工具來實現此目的?

確定顯卡上的VRAM數量是否是限制因素也很有趣。

我希望我能再次投票贊成這個問題,我希望看到一個很好的答案
我注意到的一件事是WC3`insane` AI取決於您的CPU速度。我通常可以在速度較慢的計算機上擊敗其中兩個,但不能在速度較快的計算機上擊敗它們:D
可能是[哪個遊戲PC顯卡更好-更多RAM還是更快的GPU?](http://gaming.stackexchange.com/questions/321/which-is-better-for-a-gaming-pc -圖形卡更多RAM或更快的GPU)
CPU利用率是否為100%
@Zommuter這些是完全不同的問題。這個問題是關於GPU或CPU的瓶頸以及如何確定正在限制的。沒有哪個是最佳選擇。
六 答案:
weiji
2010-12-03 11:11:53 UTC
view on stackexchange narkive permalink

我曾經使用的兩個經驗法則:

如果提高分辨率會導致幀速率大幅下降,則可能表明遊戲受GPU限制,因為提高的分辨率會導致顯卡工作起來要困難得多,因此,花更長的時間才能將每幀都拿出來。

另一方面,如果提高分辨率只會使幀速率的下降微不足道(或根本沒有下降),則表明該遊戲受CPU限制,作為附加視頻多餘的視頻卡處理能力可輕鬆處理複雜性,而主要的遊戲處理邏輯已將CPU固定住了。在這種情況下,遊戲引擎太忙了,無法給視頻子系統足夠的工作。

但是,我不認為當今的遊戲如此簡單,以至於性能如此容易受到限制。多年以來,GPU變得越來越複雜,開發人員正在尋找減輕它們工作負擔的方法,因此,雙方都可以完成很多工作……這就是為什麼我不使用這些經驗法則已經非常多了-它們只是真的不適用。前提是提高分辨率不會導致CPU上的額外工作。

如果您在2000年代初認真地遵循了《湯姆硬件指南》中的那些視頻卡基準測試,您有時會看到這種情況-運行例如使用“現代”視頻卡對Quake 3進行測試,您會得到很多條形圖,這些條形圖一直處於扁平狀態。 / p>

IMO這是迄今為止最好的建議。
ChrisF
2010-12-03 02:27:56 UTC
view on stackexchange narkive permalink

由於降低屏幕分辨率和/或紋理細節選項可以保證提高任何遊戲的性能,因此不能用來確定它是否受GPU限制。您可能會希望查看系統中可用的最高分辨率/紋理細節級別。

如果您可以降低CPU的性能(時鐘不足?),那麼此可能您可以看出遊戲是否受CPU限制-但是我也不認為它可以100%可靠。

遊戲引擎(CPU)所做的工作以及渲染引擎(GPU)。在1990年代末/ 200年代初,遊戲物理曾經由CPU完成,但隨後圖形卡開始能夠在專用硬件上執行這些計算,從而加快了計算速度並提高了性能。這意味著(例如)查看屏幕上正在移動的對像數量不能用作指導,說明基於CPU的物理引擎可能會控制CPU的強大功能。

要記住的一件事是,由於PC遊戲必須在遊戲開發人員上運行的硬件種類繁多,因此我們會尋找可以提高性能的任何技巧,並且遊戲也有望(希望如此)正常降級,以便可以在低端計算機上播放。這意味著,如果您擁有可用的硬件,它將被使用,如果不能最大限度地利用它,則將非常接近。

降頻是正確的說法。
Xantec
2010-12-03 05:28:26 UTC
view on stackexchange narkive permalink

從純粹的觀察角度(不檢查其他應用程序等),我相信,如果您受CPU限制,則會發現隨著GPU等待CPU而出現更多幀停頓,就好像您是GPU必然會有一個更加一致的體驗,儘管它緩慢而緩慢。

ErsatzStoat
2016-03-31 22:33:48 UTC
view on stackexchange narkive permalink

如果您正在尋找“快速而骯髒的”推測,可以執行以下兩個測試:

  1. 使用系統監視器或性能分析工具將CPU和GPU的使用情況進行比較 看看是否有人未充分利用。我的建議是 GPUView
  2. 同時執行所有GPU瓶頸測試,並查看性能是否提高:
    • 減少顏色/深度緩衝位的深度。
    • 使用最高的Mip級別(最低的分辨率)紋理。
    • 降低分辨率。
    • 簡化頂點著色器。
    • 減小頂點格式的大小。
  3. ol>

    它們的含義:

  • S更小的位深度意味著每個像素使用的資源更少,從而揭示了幀緩衝區級別的瓶頸。可能的修復:
    • 首先渲染深度
    • 使用更少的alpha混合
    • 在可能的情況下禁用深度寫入
    • 避免不必要的緩衝區清除
    • 優化天空盒(先渲染後z出早,或先渲染無深度r / w)
    • 使用位深度較小的緩衝區
  • S較小的紋理意味著更少的資源和更少的獲取,從而揭示了紋理帶寬的瓶頸。可能的修復:
    • 使用較小的紋理
    • 使用較小的紋理位深度
    • 壓縮紋理
    • 使用mipmapping
  • R預定分辨率意味著要處理的像素更少,從而揭示了幀緩衝區和片段著色器的瓶頸。可能的修復:
    • 首先渲染深度
    • 將工作從片段著色器移動到頂點著色器
    • 避免過度規範化
    • 避免過度昂貴的紋理過濾
    • 減少片段著色器的複雜性:(
  • Smaller頂點著色器意味著每個頂點的處理更少,從而揭示了頂點處理階段的瓶頸。可能的修復:
    • 減少處理的頂點數!
    • 將每個對象的計算移至CPU端
    • 使用LOD
    • 從正確的坐標空間開始減少變換
  • S較小的頂點格式意味著要傳輸的數據更少,從而揭示了頂點/索引傳輸級別的瓶頸。可能的修復:
    • 使用較小的頂點格式(如果您的脂肪多餘)
    • 使用較小的頂點格式(通過從較小的類型派生屬性而不是存儲較大的頂點格式)
    • 使用較小的索引類型
    • 順序訪問頂點/索引數據

如果所有這些都完成了,而您沒有看到性能提高,可以肯定地說您受CPU限制。可能的解決方法:

  • 更多批次
  • 鎖定少
  • 做進一步的工作
  • 更真實地了解您的項目

如果這個GPU測試數量仍然太龐大,您可以從中進行最簡單的調整(例如降低分辨率),並希望它可以告訴您一些信息,但是您的結果顯然沒有那麼確定,因為這樣做不能揭示GPU管道某些階段的瓶頸。

如果您受GPU限制,為了進一步隔離GPU方面的瓶頸,您將希望一次執行一次這些測試,從底部(管道末端)開始,然後逐步進行(幀緩衝- >紋理->片段著色->頂點處理->頂點轉移)。

NOTE:當然,這是假定您可以訪問可以進行這些修改的設置,或者您是開發人員,並且可以訪問源代碼。

歡迎來到Gaming.SE!不錯的第一答案:D
Wikwocket
2010-12-03 05:12:15 UTC
view on stackexchange narkive permalink

您可以打開Windows任務管理器(可以通過Control + Alt + Delete彈出的任務),然後將其最小化並玩一些遊戲。然後退出遊戲,並在“性能”選項卡中查看CPU使用率(您可以調整顯示器的大小以查看更多趨勢)。請檢查您的CPU使用率是否保持在100%左右或更低。

我知道還有其他實用程序可讓您查看CPU使用率,RAM使用率和磁盤IO,您可以嘗試。我不知道是否可以監視顯卡性能。

取決於顯卡,但是由於其他問題中提到的原因,這不是識別遊戲瓶頸所在的好方法。
DrFish
2010-12-03 17:16:58 UTC
view on stackexchange narkive permalink

幾年前,我肯定會通過玩分辨率來告訴我們:如果性能與分辨率直接相關,那就是GPU限制,如果不是,那就是CPU,但是現在情況就不一樣了,因為著色器在某些著色器效果無法通過降低分辨率來降低,無論如何它們都只能獲取相同數量的資源。

某些圖形選項僅涉及CPU,有些僅涉及CPU。 GPU,以及兩者的混合體(煙熏效果是一個常見的例子)。

降低分辨率仍然是經驗法則,只是效果不如以前。

但是,如果我有錢,我會投資比更快的CPU更好的GPU,因為沒有抗鋸齒和各向異性過濾之類的東西,如果沒有更強大的GPU功能,您將永遠無法實現。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 2.0許可。
Loading...