MangoHud パフォーマンスモニタリング
グラフィックカード、AAAゲームタイトル、スマートフォンやタブレットのハードウェアレビューを頻繁にチェックしていると、FPSやフレームレートの安定性といった指標によく遭遇するでしょう。
私自身も、董さんのような珠海の家電業界の大物になるつもりはなく、単に楽しみのため、あるいは解決策を検証するために、自分でテストしたいと思うことがあります。
例えば、AMDはLinux向けに3つのVulkanドライバーを提供しています。
-
- vulkan-radeon (RADV、Mesaプロジェクトの一部)
-
- amdvlk (AMDVLK Open、AMDがメンテナンス)
-
- vulkan-amdgpu-pro (AMDVLK Closed、AMDがメンテナンス)
RADVは、多くの支持を集め、おそらくより頻繁にアップデートされるオープンソースプロジェクトであるMesaに属しています。AMDVLK OpenはAMDが公式にメンテナンスしており、新バージョンは四半期ごとにリリースされているようです。AMDVLK ClosedはハイエンドGPU向けです。
さて、私のようなLinuxゲーマーが、ベースレベルのAMD APUを使用していて、RADVとAMDVLKのどちらを選ぶべきか迷っているとしましょう。基本的なパフォーマンステストを行う必要があります。最も簡単な解決策は、Steamでフレームレートモニタリングを有効にすることですが、指標が単純すぎるため(現在LinuxではFPSモニタリングのみ利用可能)、理想的とは言えません。さらに、すべての Linux ゲームが Steam で利用できるわけではありません。このような場合は、MangoHud のようなツールが必要です。
まず、結論を述べさせてください。私のデバイス(AMD Radeon 780M グラフィックス)では、Dota 2 と CS2 で複数回のテストを行った結果、AMDVLK Open は RADV よりも優れたパフォーマンスを示しました。まだ納得できない方は、ぜひ試してみてください。
次に、MangoHud について説明したいと思います。名前を覚えやすくするために、これは単なる推測ですが、以下の通りです。
Mango は、リポジトリ https://github.com/flightlessmango/MangoHud の作者名の一部です。作者のアイコンはマンゴー🥭です。HUD は、多くの新エネルギー車に搭載されているヘッドアップデジタルディスプレイやヘッドアップディスプレイのような一般的な概念です。基本的には、簡単なナビゲーション情報、車速、その他の監視情報を表示します。ここで使用しているフレームレートや GPU 使用率に似ています。
これにより、名前を覚えやすくなります。
以下は私の実際の操作ログです。
1. インストール
1sudo pacman -S mangohud goverlay
goverlay は mangohud 用のグラフィカル設定プログラムです。インターフェースは QT で開発されています。専門的なレビュー担当者以外が、.config/MangoHud/MangoHud.conf
設定ファイルを手動で変更することはないと思います。グラフィカル設定プログラムがあると非常に便利です。
インストールが完了したら、コードリンターのような簡単なテストを実行できます。
1$ mangohud glxgears
2$ mangohud vkcube
glxgears は3つのスクロールギアを表示します。
vkcube は回転する立方体を表示します。
2. 使用方法
- 単一のゲームの使用
シンプルで直接的な方法としては、mangohud game
を実行するだけです。game
はゲームの起動コマンドです。例:
1➜ mangohud mari0
- Steamゲームの例
ライブラリでゲームを右クリックし、「プロパティ」を選択して、「起動オプション」テキストボックスに以下のコマンドを入力します。
1mangohud %command%
- 環境変数
すべてのVulkanゲームでMangoHudを自動的に起動するには、以下の環境変数を設定します。
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,FFA A7F,CC0000
29CPU_MHz
30CPU_温度
31CPU_電力
32CPU_color=2E97CB
33VRAM
34VRAM_color=AD64C1
35VRAM_color=AD64C1
36RAM
37RAM_color=C26693
38fps
39エンジンバージョン
40エンジンカラー=EB5B5B
41フレームタイミング
42フレームタイムカラー=FFFFFF
43fps_limit_method=late
44fps_limitの切り替え=Shift_L+F1
45fps_limit=0
46fps_color_change fps_color=B22222,FDFD09,39F900
47fps_value=30,60
48output_folder=/home/mephisto
49log_duration=30
50autostart_log=0
51log_interval=100
52blacklist=protonplus,lsfg-vk-ui,bazzar,gnome-calculator,pamac-manager,lact,ghb,bitwig-studio,ptyxis,yumex
53toggle_logging=Shift_L+F2
初心者の方は、グラフィカル設定のためにgoverlay
を実行することをお勧めします。
Color Theme
個人的にはMangoHudのストックを選択しました。
角丸、背景の透明度 0.1、フォントの種類、位置、列数(5 を選択してください。複数列の場合は折り返されません)。
特に注目すべきは、HUD 表示のオン/オフを切り替える反転ショートカット Shift+R + F12
です。これは、選択した位置によってゲーム画面の情報が隠れてしまう可能性があるため、非常に便利です。
HUD を表示したい場合は、ショートカットで呼び出し、必要に応じてオン/オフを切り替えてください。Steam では、Wayland
が有効になっていると、このショートカットは無効になります。xWayland
は正常に動作します。これは、Dota 2 と CS2 をテストしているときに発見しました。
最も興味深いのは、現在エディタとして Zed を使用していることです。GPU へのアクセスに Vukan を使用しているため、環境変数 MANGOHUD=1
を設定すると、画面右上に Mangohud が表示されます。 Wayland でも、ショートカットキーを使ってオン/オフを切り替えることができます。
以下の図をご覧ください。
4. メトリクスの説明
メトリクスがあっても、その意味を理解していなければ意味がありません。一般的なメトリクスをいくつかご紹介します。
- FPS (Frames Per Second): 1秒あたりのフレーム数。ゲームやアプリケーションの現在のフレームレートを示します。値が高いほど、動作がスムーズです。
- CPU Load: CPU 負荷。現在の CPU ワークロードをパーセンテージで表示します。
- GPU Load: GPU 負荷。グラフィックレンダリングなどのタスクを処理する際に GPU が行っている作業量を示します。これもパーセンテージで表示されます。
- CPU 温度: CPU 温度。CPU の動作中に発生する熱を反映し、通常は摂氏 (°C) で測定されます。- GPU 温度: GPU の動作温度を摂氏 (°C) で表示します。
- VRAM 占有量: 現在のゲームまたはアプリケーションが使用しているビデオメモリの量をバイト単位で表示します。
- RAM 占有量: システムメモリの占有量をバイト単位で表示します。
- フレームタイミング: 各フレームのレンダリングに要した時間に関する情報を提供します。これは、ゲームのフレームレートが不安定になる原因の分析に役立ちます。
他にも指標はあります。興味のある方は関連ドキュメントを参照してください。
最後に、このグラフをご覧ください:
著作権に関する声明:
- 出典のないコンテンツはすべてオリジナルです。、無断転載はご遠慮ください(転載後にレイアウトが崩れたり、内容が制御不能になったり、継続的に更新できない等の理由から)。
- このブログのコンテンツを非営利目的で解釈したい場合は、(読者の便宜のため)「オリジナル ソース」または「参照リンク」の形式でこのサイトの関連 Web ページ アドレスを提供してください。
このシリーズの投稿:
- Linux環境のキー検出
- ヒステリーサイエンスインターネットブリーフ
- スタンドアロンウィンドウマネージャーにおける画面録画問題のトラブルシューティング
- Arch LinuxでBluetoothデバイスにスムーズに接続する方法
- Wayland 環境の ksnip をコピーできない問題が解決されました
- Wofi 使い方チュートリアル
- Linux 用の Python の最新バージョンをインストールする
- ZFSスナップショットテスト