MangoHud性能监控
如果你经常关注各种显卡、3A游戏大作,或者各种手机、平板等硬件测评,经常会冒出FPS、帧率稳定等相关监测。 有时候我自己也想测测,不求接近珠海白电大佬董大姐,只是单纯好玩或者是为了验证方案。
比如在 Linux 下 AMD 的 vulkan 驱动有三种:
-
- vulkan-radeon(RADV,part of Mesa projec)
-
- amdvlk(AMDVLK Open,maintained by AMD)
-
- 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 会显示三个滚动齿轮:
vkcube 显示个旋转的立方体:
2. 使用
- 单个游戏使用
简单粗暴,直接 mangohud game
,其中 game 为游戏的启动命令。比如:
1➜ 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
来进行图形化配置。
Color Theme
个人选的 MangoHud stock
圆角、背景透明0.1、字体选个自己中意的、位置、列数目(选5个,多列信息不会换行)。
值得特别说明的是那个翻转快捷键Shift_R + F12
, 可在显示hud和不显示hud间切换。这个还是很有用处的,因为你选的位置可能会遮挡游戏画面信息。
想看的时候,使用快捷键呼出即可,按需要取舍。在steam下面,如何你开启了 wayland
,这个快捷键会失效,xwayland
才会正常,我自己测试 dota2 和 cs2的时候发现的。
最好玩的是,我现在用的编辑器zed,因为用vukan调用了gpu,我设置了环境变量 MANGOHUD=1
,右上角也会出现 mangohud,即使是wayland的,也支持快捷键切换隐藏或者显示。
如下图所示:
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:提供每帧渲染所需的时间信息,可帮助分析游戏帧率不稳定的原因。
还有其它指标,有兴趣的自行翻阅相关文档。
最后,请看这张图表:


版权申明:
- 未标注来源的内容全部为原创,未经授权请勿转载(因转载后排版往往错乱、内容不可控、无法持续更新等);
- 非营利为目的,演绎本博客任何内容,请以'原文出处'或者'参考链接'等方式给出本站相关网页地址(方便读者)。
相关文章:
- Arch Linux SSL VPN 客户端配置
- Arch linux下iNode客户端的安装和使用方法
- Linux环境下维护公众号记录
- Linux环境按键检测
- Ubuntu 切换系统语言
- Snipe it资产管理系统安装使用
- Ubuntu开机启动加速
- SuperTuxKart 试玩
- Hysteria科学上网简要
- Linux安装心仪字体