MangoHud性能監控

如果你經常關注各種顯卡、3A遊戲大作,或者各種手機、平板等硬件測評,經常會冒出FPS、幀率穩定等相關監測。 有時候我自己也想測測,不求接近珠海白電大佬董大姐,只是單純好玩或者是爲了驗證方案。

比如在 Linux 下 AMD 的 vulkan 驅動有三種:

    1. vulkan-radeon(RADV,part of Mesa projec)
    1. amdvlk(AMDVLK Open,maintained by AMD)
    1. vulkan-amdgpu-pro( AMDVLK Closed,maintained by AMD)

其中,RADV是屬於Mesa的,開源組織,可能熱血人士比較多,更新較爲頻繁;AMDVLK Open 是 AMD 官方維護的,貌似每個季度推出一個版本;AMDVLK Closed 是給高端GPU使用的。

那麼問題來了,假設你像我一樣是 Linux 遊戲用戶,有個丐版AMD的APU,想知道選 RADV 還是 AMDVLK 好,這個時候你需要進行基礎性能測試。最簡單的方案是開啓steam中的幀率監控,但是指標過於簡單(Linux下目前只能開啓FPS監控),不理想,況且不是所有 Linux 遊戲都在 steam 上,此時,你需要MangoHud這個工具。

先說結論,在我的設備(AMD Radeon 780M Graphics)上,在 Dota2 和 cs2 上測試多次,還是 AMDVLK Open 比 RADV 好,不信你可以試試看。

其次,我想解釋下這個 MangoHud,方便記住名字,純屬個人猜測:

Mango 是 https://github.com/flightlessmango/MangoHud 這個倉庫作者名字的一部分,作者圖標是個芒果🥭;Hud 就是個通用概念,比如現在很多新能源車都有,叫什麼抬頭數字顯示,或者抬頭顯示器。大概就是顯示簡略導航信息、汽車時速什麼的,也就是一些監控信息。和我們這裏幀率、顯卡使用率等類同。

這樣,就比較好記住這名字了。

以下是我的實踐操作記錄:

1. 安裝

1sudo pacman -S mangohud goverlay

goverlay 是 mangohud 的圖形化配製程序,看界面是QT開發的。我想不是專業評測人員是不會醉心於手動修改 .config/MangoHud/MangoHud.conf 配置文件的,有個圖形化的配置程序還是挺不錯的。

安裝完成後可以簡單檢測下,好比各種代碼的linter:

1$ mangohud glxgears
2$ mangohud vkcube

glxgears 會顯示三個滾動齒輪:

mangohud_glxgears

vkcube 顯示個旋轉的立方體:

mangohud_vkcube
當你還沒安裝遊戲,可以簡單用這2個程序檢測,確認顯卡驅動是否安裝完好。

2. 使用

  • 單個遊戲使用

簡單粗暴,直接 mangohud game,其中 game 爲遊戲的啓動命令。比如:

1➜  mangohud mari0

mangohud_mari0

  • steam 遊戲示例

右鍵點擊庫中的遊戲,選擇屬性,然後在啓動選項文本框中輸入:

1mangohud %command%
  • 環境變量

使 MangoHud 自動與所有 Vulkan 遊戲一起啓動,可以設置以下環境變量:

1MANGOHUD=1

比如我的labwc下:

1➜  ~ cat .config/labwc/environment | tail -n 3
2
3#MangoHud
4MANGOHUD=1

這樣寫的好處是,不用在每個steam遊戲中,更改啓動項。不好的地方是,不是每個遊戲的都支持,supertuxkart 就不支持。

3. 配置

先給出我的配置:

 1➜  ~ grep -Ev '^#|^$' .config/MangoHud/MangoHud.conf
 2legacy_layout=false
 3background_alpha=0.1
 4round_corners=10
 5background_alpha=0.1
 6background_color=000000
 7font_file=/usr/share/fonts/TTF/HackNerdFont-Regular.ttf
 8font_size=16
 9text_color=FFFFFF
10position=top-right
11toggle_hud=Shift_R+F12
12pci_dev=0:c4:00.0
13table_columns=5
14gpu_text=GPU
15gpu_stats
16gpu_load_change
17gpu_load_value=50,90
18gpu_load_color=FFFFFF,FFAA7F,CC0000
19gpu_core_clock
20gpu_mem_clock
21gpu_temp
22gpu_power
23gpu_color=2E9762
24cpu_text=CPU
25cpu_stats
26cpu_load_change
27cpu_load_value=50,90
28cpu_load_color=FFFFFF,FFAA7F,CC0000
29cpu_mhz
30cpu_temp
31cpu_power
32cpu_color=2E97CB
33vram
34vram_color=AD64C1
35vram_color=AD64C1
36ram
37ram_color=C26693
38fps
39engine_version
40engine_color=EB5B5B
41frame_timing
42frametime_color=FFFFFF
43fps_limit_method=late
44toggle_fps_limit=Shift_L+F1
45fps_limit=0
46fps_color_change
47fps_color=B22222,FDFD09,39F900
48fps_value=30,60
49output_folder=/home/mephisto
50log_duration=30
51autostart_log=0
52log_interval=100
53blacklist=protonplus,lsfg-vk-ui,bazzar,gnome-calculator,pamac-manager,lact,ghb,bitwig-studio,ptyxis,yumex
54toggle_logging=Shift_L+F2

非專業人士,建議運行 goverlay 來進行圖形化配置。

goverlay_1
Color Theme 個人選的 MangoHud stock

goverlay_2

圓角、背景透明0.1、字體選個自己中意的、位置、列數目(選5個,多列信息不會換行)。

值得特別說明的是那個翻轉快捷鍵Shift_R + F12, 可在顯示hud和不顯示hud間切換。這個還是很有用處的,因爲你選的位置可能會遮擋遊戲畫面信息。 想看的時候,使用快捷鍵呼出即可,按需要取捨。在steam下面,如何你開啓了 wayland,這個快捷鍵會失效,xwayland 纔會正常,我自己測試 dota2 和 cs2的時候發現的。

最好玩的是,我現在用的編輯器zed,因爲用vukan調用了gpu,我設置了環境變量 MANGOHUD=1,右上角也會出現 mangohud,即使是wayland的,也支持快捷鍵切換隱藏或者顯示。

如下圖所示:

mangohud_zed

4. 指標解釋

光有指標,不知道指標含義也是枉然,以下是一些常見指標的含義:

  • FPS(Frames Per Second):即每秒幀數,顯示遊戲或應用程序當前的幀率,數值越高表示運行越流暢。
  • CPU Load:指 CPU 的負載情況,顯示 CPU 當前的工作量,以百分比形式表示。
  • GPU Load:表示 GPU 的負載,即 GPU 在處理圖形渲染等任務時的工作量,同樣以百分比形式呈現。
  • CPU Temperature:CPU 的溫度,反映 CPU 在運行過程中的發熱情況,通常以攝氏度(℃)爲單位。
  • GPU Temperature:GPU 的溫度,顯示顯卡在工作時的溫度狀況,單位也是攝氏度(℃)。
  • VRAM Occupied:顯存佔用量,顯示當前遊戲或應用程序使用了多少顯存,以字節爲單位。
  • RAM Occupied:內存佔用量,表明系統內存中被佔用的部分,單位爲字節。
  • Frame Timing:提供每幀渲染所需的時間信息,可幫助分析遊戲幀率不穩定的原因。

還有其它指標,有興趣的自行翻閱相關文檔。

最後,請看這張圖表:

hud_metrics
可見 MangoHud 對 AMD 支持最完善,Linux 普通用戶買 AMD 的顯卡可能比較好,So,Fxxx NVIDIA!

最後修改於: Thursday, August 28, 2025

相關文章:

翻譯: