环境:Ubuntu 26.04.1 LTS(GNOME 50 Wayland),NVIDIA GTX 1080 Ti 驱动 580.178.04,AMD Ryzen 7 3700X

回复 已回复1 星标
更多
21700094<21700094> 2026-11-04 09:05 中国 山西 只看该作者

环境:Ubuntu 26.04.1 LTS(GNOME 50 Wayland),NVIDIA GTX 1080 Ti 驱动 580.178.04,AMD Ryzen 7 3700X,115life 37.3.2(deb 版)。

现象:播放 4K HEVC 原文件(杜比视界片源)时,窗口模式 25fps 正常,全屏 2560x1440 掉到 8-9fps,画面明显卡顿、晃眼。

客户端日志:
[player-diag] 合成器无 GPU interop(软件渲染?)→ CPU 位图路径
[player-diag] 解码状态 实际=硬解 硬解可用=是 偏好=硬件优先 GPU直出=关
[player-diag] 上屏间隔[cpu] n=49 中位=96.9ms p95=141.4ms(全屏)
[player-diag] 上屏间隔[cpu] n=125 中位=40.0ms(窗口)

已排除的因素:
1. glxinfo / eglinfo 显示 OpenGL / EGL 均为 NVIDIA GTX 1080 Ti,无 llvmpipe 软件渲染;
2. nvidia_drv_video.so 已安装,vainfo 显示 VA-API NVDEC driver [direct backend],已设置 LIBVA_DRIVER_NAME=nvidia;
3. 硬解确实生效:进程 CPU 占用从 315% 降到 71%;
4. 客户端 37.3.2 播放器菜单中找不到「GPU 直出」选项(Windows 版有此选项)。

分析:解码已是硬解,但渲染走 CPU 位图路径,每帧需从 GPU 回读到 CPU 再缩放上屏。全屏 2560x1440 时每帧约 14.7MB,CPU 拷贝跟不上,导致帧率降到 8-9fps;窗口模式数据量小所以正常。

建议:
1. Linux 版增加「GPU 直出」选项,与 Windows 版对齐,将解码帧作为 GPU 纹理直接上屏;
2. 或实现 EGL/GL 纹理共享路径,避免 CPU 回读;
3. 过渡方案:全屏时按较低分辨率渲染再上采样。

附:杜比视界(DV P5)片源的转码档位存在偏紫问题(原文件正常),日志显示 dv_pivots / rpu_buf 元数据已解析但转码流丢失,如能一并修复更好。

倒序阅读 1# 2026-11-05 09:26

下一版本会优化原文件播放问题。

新窗口打开 关闭