我有一个自己写的多媒体播放器,用的是Vlc.DotNet.Forms,一直以来运行很好。今日学习SunnyUI,在这个项目中测试,发现一个故障,就是控件内的视频随着鼠标的移动闪烁。
故障现象:
视频播放后,鼠标不动一切正常。当鼠标在SunnyUI的控件上移动的时候,发现视频闪动。移入、移出SunnyUI控件时都会闪一下,在控件内移动不会闪。
程序是在Win10中开发,没有这个问题,移到Win7后问题更奇怪。当Win7主题再“毛玻璃”时,闪动很厉害,改为非玻璃时也存在。当改为“经典”主题后不闪了,但是视频不更新了,必须鼠标移入VLC控件,视频才更新一帧,重复移入移出,视频在播放。
找了很久解决办法,忽然想到是不是与以前这个项目防闪烁有关?
以前这个项目开发时,发现界面载入较慢,首次绘制控件的时候一闪一闪的,因此就加上了一个代码:

当时问题解决了,这次会不会跟这个有关呢?于是注释了这些内容,果然问题解决。

VLC闪的问题解决了,窗体闪怎么?我加了一个载入标题窗体,覆盖到顶层,延迟几秒关闭,就掩盖了窗体控件绘制时的闪烁问题。
<

使用Vlc.DotNet.Forms控件开发的多媒体播放器在集成到SunnyUI项目后,遇到视频闪烁问题,特别是在Win7系统和“毛玻璃”主题下。经过排查,发现与防止界面闪烁的代码有关,注释掉该代码后,VLC控件的闪烁问题得到解决。同时,通过加载临时标题窗体来掩盖窗体控件绘制时的闪烁,但寻求更优解决方案。
订阅专栏 解锁全文

4122

被折叠的 条评论
为什么被折叠?



