问题介绍

在使用NVIDIA vGPU的虚拟机中,Chromium内核的浏览器(如Google Chrome、Edge、B站客户端)播放B站1080P高码率视频卡顿、丢帧


Chrome的chrome://media-internals/中存在大量decoder_underflow的警告,如{"for_suspended_start":false,"reason":"DECODER_UNDERFLOW","state":"BUFFERING_HAVE_NOTHING"}

排查中的尝试

更换其他浏览器

更换为Firefox后,播放不再丢帧。但并未真正解决问题,只是找到一个缓解方案

安装低版本vGPU驱动

在安装完成未重启的情况下有效,重新后恢复问题

修改chrome://flags中的设置

修改Choose ANGLE graphics backendOpenGL
确实解决了播放视频丢帧的问题,但是访问其他网站时(特别是dom比较复杂的网站)浏览器卡顿。且此非全系统层面解决问题

更新vGPU Host驱动版本

完全无效

重装Proxmox系统

完全无效

更换服务器平台


完全无效

直接穿透完整显卡

问题没有出现,得出是vGPU设置或驱动存在问题

解决问题

测试穿透完整显卡发现问题并未出现,故着重排查vGPU设置方面的问题。猜测可能是vGPU的帧率限制器导致的问题,尝试关闭。
网上(特别是国内某些网站)的教程完全是瞎写的,不起任何作用,最终在vgpu-proxmox项目中,发现NVIDIA vGPU有配置文件/usr/share/nvidia/vgpu/vgpuConfig.xml,其中有<frame_rate_limiter>1</frame_rate_limiter>配置项,将其设置为0。重启服务器后再播放视频,问题情况明显好转且视频无肉眼可见的卡顿、丢帧
最后,将其修改过程自动化

1
sed -i 's#<frame_rate_limiter>1</frame_rate_limiter>#<frame_rate_limiter>0</frame_rate_limiter>#g' /usr/share/nvidia/vgpu/vgpuConfig.xml

广告
广告正在加载中...
暂不开放评论,如对本文有任何疑问或建议,请联系apple@mr-wu.top
All Tags