V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Osk
V2EX  ›  问与答

迷惑 bug: MPC-BE 播放视频时 dwm CPU 占用极高

  •  
  •   Osk · 2022-04-25 23:57:34 +08:00 · 1519 次点击
    这是一个创建于 942 天前的主题,其中的信息可能已经有所发展或是发生改变。

    环境:

    • Windows 11;
    • MPC-BE x64, 1.6.1.6845;
    • 视频是 vp9 编码, webm 格式; 播放器硬解码;

    显卡驱动是有 bug 的 intel 显卡驱动, 27.x 系列的, 已知的 bug 是 dwm 会内存泄漏, 泄露几个 G 都不是事.

    但是可以登录后任务管理器结束 dwm 一次来缓解此 bug, 然后几乎不会发生后续泄露.


    但下面的 bug 就离谱了:

    同一个 vp9 视频, 使用浏览器(firefox, edge)+自带播放器播放, 都能正常硬解播放, CPU 低频, 低占用.

    使用 mpc-be 播放, 硬解码, 但 dwm.exe CPU 占用直接起飞, 机器很热...

    mpc-be 默认配置, 使用 evr 自定义解码器.


    这就很难受了, mpc-be 用着顺手不想换, 不知道有没有同款 bug 的用户....

    回头有空了准备升级显卡驱动或者降级 mpc-be 试试. 不知道有没有大佬有好的建议.

    8 条回复    2022-05-03 13:17:46 +08:00
    cest
        1
    cest  
       2022-04-26 01:35:34 +08:00   ❤️ 1
    evr is outdated, use mpcvr, it's from the same guy behind mpcbe
    ysc3839
        2
    ysc3839  
       2022-04-26 03:48:31 +08:00 via Android   ❤️ 1
    感觉是没有 Independent Flip ,dwm 会进行合成后再输出,可以用 PresentMon 看看 https://github.com/GameTechDev/PresentMon
    不过按理来说只是会增加 GPU 3D 占用,不会使用很多 CPU
    可以试试 PotPlayer ,有个选项选带 Flip 的
    laincat
        3
    laincat  
       2022-04-26 08:49:29 +08:00   ❤️ 2
    https://disk.yandex.com/d/AjAXDDHtHRIELg

    Alpha (Nightly from GitHub)

    MPC Video Renderer (Git Latest)

    安装或替换以上两个,一个是 mpc-be ,一个是他们开发的 视频 渲染器。

    当然可以的话更新最新的 Lav: http://files.1f0.de/lavf/nightly/
    cest
        4
    cest  
       2022-04-26 15:12:44 +08:00   ❤️ 1
    @ysc3839 #2 mpchc + mpcvr 4K120 LCD 放 8K60 AV1

    用 flip 会有几次 frame drop
    用 discard 才全程无 drop

    discard 用更少资源?
    ysc3839
        5
    ysc3839  
       2022-04-26 18:17:16 +08:00   ❤️ 1
    @cest Flip 也有 Flip Sequential 和 Flip Discard 。Discard 比 Sequential 占用更少资源,因为 Sequential 会保留数据。Flip 比不是 Flip 占用更少资源,因为可以 Independent Flip ,不需要 dwm 合成。
    Osk
        6
    Osk  
    OP
       2022-04-28 22:44:51 +08:00
    @ysc3839 @cest @laincat 不好意思, 之前提供的信息有误, dwm 并没有占用太多 cpu, 只是偶尔偏高.
    但使用 mpc-be 时机器确实 cpu 高频, 任务管理器中 cpu 占用大.

    与之对比的:
    自带的两个 uwp 播放器, 浏览器, vlc 测试都很正常, cpu 占用很低, 频率也低. 就 mpc-be 离大谱.

    另一台 Win 10 机器就相对正常, 起码不会 cpu 起飞.

    和显卡驱动无关.



    甚至怀疑是 Windows 11 的 bug, 5-1 有空我同一台机器装个 Windows 10 和 11 对比看看.
    ysc3839
        7
    ysc3839  
       2022-04-29 00:34:30 +08:00 via Android
    @Osk 如果 dwm 占用不高,播放器占用高的话,可能是播放器没有硬解,或者硬解后帧格式转换(解码后是 YUV ,显示器一般是 RGB)是 CPU 处理的
    Osk
        8
    Osk  
    OP
       2022-05-03 13:17:46 +08:00
    @ysc3839 换了几个环境去测试, 基本可以确定是 mpc-be 的问题, 和系统驱动无关. 将就用了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2802 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 13:59 · PVG 21:59 · LAX 05:59 · JFK 08:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.