[Bug]: 播放时切其他窗口卡出win7窗口
在使用的时候发生了什么 Bug ?
播放时切其他窗口卡出win7窗口,bug出现后非全屏播放有声音但画面不动
按f开全屏后播放正常,再f又成win7窗口,按了好几次f又恢复正常
您在使用哪个操作系统?
Windows
请具体提供设备、版本号等信息。
win10 22h2 19045.5247
(选填)一些与 Bug 相关的硬件信息。
NVIDIA控制面板 版本 8.1.967.0
日志信息
Log
[在此处粘贴你的日志]
提交前确认
- [x] issue 列表中,没有我发现的这个 Bug
- [x] 我正在使用最新版本的 Kazumi
应该是 #655
原因未知,只在 windows10 下运行 msix 格式的 Kazumi 时发生
升级到 win11 或使用 zip 格式安装包的 Kazumi 将解决问题
win7界面成卡死状态,点击没反应,所以没法提供日志
应该是 #655
原因未知,只在 windows10 下运行 msix 格式的 Kazumi 时发生
升级到 win11 或使用 zip 格式安装包的 Kazumi 将解决问题
我是使用的zip的版本
播放设置里能打开调试模式来记录所有播放器日志
不过还是不能保证记录到关键信息,因为 native 部分的 C++ 崩溃不能被 dart 侧捕获
可以尝试打开系统的事件查看器,查看发生故障的时间点有没有出现 C++ 运行时错误
9:21分前后并没有c++的报错
那看上去我们已经走进了死胡同,我无法在没有日志的情况下解决问题
不过这个症状看上去可能是某些奇怪的插件引起的,和窗口句柄相关的插件,类似按键精灵之类的东西
抱歉 我有检查后台的程序,并没有其他关于句柄的程序
根据我的尝试,按f有概率卡出来
演示视频 https://x-l.lanzoum.com/icPVm2x9zr4b
我有两台电脑,都是最新版的Win10系统,一台电脑是1650+UHD 630的显卡,另外一台是只有一张UHD 620的。最近在更新Kazumi到1.7.2即以上版本后,两台电脑同时频繁的出现了这个问题。在全屏视频播放途中会有概率画面、进度条和UI会突然卡死,只能退出全屏。在退出全屏后,会跳出类似Win7的窗口。出现这个问题的时候尝试播放,点击还是可以听见声音,但画面不会动,显卡占用率0%。只有很低的概率可以通过反复退出和进入全屏可以恢复,如果反复进出全屏后仍无效,除了重启Kazumi以外没有别的方法。我起初认为是硬件解码出问题导致自动切换的而引发的问题,但是在我手动设置一个硬件解码后还是会出现这个问题。我使用的是zip版本的Kazumi。个人怀疑可能跟UHD显卡和最近的关于解码器更新有关。
我的情况似乎有些不同,我目前总共发现3种触发方式,每种触发方式的结果都不同,我有一台全新系统的机器,里面只有Kazumi,但也出现了此问题。msix和zip版都有这个问题,1.7.3中仍然有这个问题。问题在Windows 10上出现。UHD显卡可能更容易出现此问题。
触发方式:
- 播放途中会随机突然会出现此情况,比较严重
- 在Kazumi运行途中强行在设备管理器中禁用显卡驱动再启用会出现此情况
- 反复进入或退出全屏会出现此情况
问题的效果:
- 如果是上述的第三个触发方式引发的问题,反复退出/进入全屏可以解决此问题。若是其他触发方式导致的,只能重启Kazumi。
- UI会出现类似Win 7的页面(之前的版本在全屏切换时也有Win7的页面,但目前的问题应该是在Win7画面之后本该出现的画面并没有出现,却卡死了)
- UI和画面不会刷新,但是交互仍然有效,视频仍然会有声音,但是画面不会刷新。
- 最小化后再打开有概率整个窗口彻底白屏。
- 事件查看器中没有任何相关错误。
- 情况类似Flutter中的Issue 124194
临时解决方案:
- Kazumi 1.6.9 似乎并未重现此问题
推测原因:
- 问题出在近期更新中某条改动引发了与GPU的兼容性问题。
- Flutter 3.32 中可能进行了某些更改导致GPU不兼容,UI 渲染线程或 GPU 管线发生崩溃。
- 软件解码模式禁用纹理加速在旧显卡上可能存在不兼容性。(不太可能,虽然画面卡死,但音频仍在正常解码)
- GPU上下文因为某种原因可能丢失。(切换全屏时可能重新创建了 GPU 上下文或窗口句柄才得以临时解决)
@YUZU-384 @rewsdjad1
我现在对这个问题有了一些新的想法,由于我的设备上无法复现此问题,你们可以进行一些测试吗
-
1.7.0 版本是否存在此问题
-
如果 1.7.0 版本正常工作,尝试使用 1.7.0 版本目录下的 libmpv-2.dll 替换最新版本程序目录下的同名文件,测试问题是否修复
哈哈哈哈 其实我也有过
我现在对这个问题有了一些新的想法,由于我的设备上无法复现此问题,你们可以进行一些测试吗
- 1.7.0 版本是否存在此问题
- 如果 1.7.0 版本正常工作,尝试使用 1.7.0 版本目录下的 libmpv-2.dll 替换最新版本程序目录下的同名文件,测试问题是否修复
1.7.0版本没有这个问题,但1.7.5替换文件后还是会出现
哈哈,十几年没用win7了,没认出来,最新的正式版win11 24h2也有这个问题,用的1.7.6 zip版本 #1178
在 #1178 追踪