dependon / fantascene-dynamic-wallpaper

Managed animated wallpaper based on X11 under Linux(Dynamic Wallpapers for Linux)
GNU General Public License v3.0
200 stars 21 forks source link

播放动态壁纸时,IO特别高,暂停播放就为0,麻烦优化下 #6

Open Zyx-A opened 3 years ago

Zyx-A commented 3 years ago

使用动态壁纸时,发现IO使用率特别高,一旦暂停播放,就降下来变为0了。能否麻烦解决下。 建议将视频数据缓存到内存中使用,不要频繁的去调用文件系统IO。

以下截图是使用iotop查看的 截图_选择区域_20210525100011

fantascene-dynamic-wallpaper版本:1.0.2 系统版本:Deepin 20.2.1 内核版本:5.10.29-amd64-desktop 截图_选择区域_20210525100600

使用的视频文件: https://user-images.githubusercontent.com/18498974/119429605-bd37b280-bd41-11eb-93f4-238d700b5b2d.mp4

注:系统有通过nvme固态硬盘使用bcache加速机械盘 ··· $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 1.8T 0 disk └─bcache0 252:0 0 1.8T 0 disk /home nvme0n1 259:0 0 477G 0 disk ├─nvme0n1p1 259:1 0 300M 0 part /boot/efi ├─nvme0n1p2 259:2 0 1.5G 0 part /boot ├─nvme0n1p3 259:3 0 15G 0 part ├─nvme0n1p4 259:4 0 15G 0 part / ├─nvme0n1p5 259:5 0 219.1G 0 part /data ├─nvme0n1p6 259:6 0 10G 0 part /recovery ├─nvme0n1p7 259:7 0 16G 0 part [SWAP] ├─nvme0n1p8 259:8 0 120G 0 part └─nvme0n1p9 259:9 0 80G 0 part └─bcache0 252:0 0 1.8T 0 disk /home ···

dependon commented 3 years ago

您好:        很高兴收到你的来信,我在这里不确定这是由播放器造成的还是我定时器读取是否有全屏状态造成的,您这边能测试一下关闭掉智能模式的勾选,是否还有此类的问题,壁纸采用的播放器是mpv,您可以用mpv测试一下播放,我下班回家也会看一下这个问题,感谢!

------------------ 原始邮件 ------------------ 发件人: "dependon/fantascene-dynamic-wallpaper" @.>; 发送时间: 2021年5月25日(星期二) 上午10:20 @.>; @.***>; 主题: [dependon/fantascene-dynamic-wallpaper] 播放动态壁纸时,IO特别高,暂停播放就为0,麻烦优化下 (#6)

使用动态壁纸时,发现IO使用率特别高,一旦暂停播放,就降下来变为0了。能否麻烦解决下。 建议将视频数据缓存到内存中使用,不要频繁的去调用文件系统IO。

以下截图是使用iotop查看的

fantascene-dynamic-wallpaper版本:1.0.2 系统版本:Deepin 20.2.1 内核版本:5.10.29-amd64-desktop

使用的视频文件: https://user-images.githubusercontent.com/18498974/119429605-bd37b280-bd41-11eb-93f4-238d700b5b2d.mp4

注:系统有通过nvme固态硬盘使用bcache加速机械盘 ··· $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 1.8T 0 disk └─bcache0 252:0 0 1.8T 0 disk /home nvme0n1 259:0 0 477G 0 disk ├─nvme0n1p1 259:1 0 300M 0 part /boot/efi ├─nvme0n1p2 259:2 0 1.5G 0 part /boot ├─nvme0n1p3 259:3 0 15G 0 part ├─nvme0n1p4 259:4 0 15G 0 part / ├─nvme0n1p5 259:5 0 219.1G 0 part /data ├─nvme0n1p6 259:6 0 10G 0 part /recovery ├─nvme0n1p7 259:7 0 16G 0 part [SWAP] ├─nvme0n1p8 259:8 0 120G 0 part └─nvme0n1p9 259:9 0 80G 0 part └─bcache0 252:0 0 1.8T 0 disk /home ···

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe.

Zyx-A commented 3 years ago

如下截图,这是我的配置,期间并未开启“智能模式”。另外,我是扩展双屏,均为1080P分辨率。历史视频导入数量为16个视频。 另,在开始菜单、命令行中并未找到mpv播放器,无mpv命令。 """ $ dpkg -l | grep mpv ii libmpv1:amd64 0.29.1.34-1+eagle amd64 video player based on MPlayer/mplayer2 (client library) """

image

dependon commented 3 years ago

是否是双屏呢你的电脑

Zyx-A commented 3 years ago

是否是双屏呢你的电脑

是双屏。 另外刚刚测试了下,拔掉双屏,即便有所降低,也会比暂停播放时的0更高,详见截图如下: image

dependon commented 3 years ago

双屏,如果切换到扩展模式呢,我怀疑我双屏的时候有一步骤的操作导致的,我双屏是获取数据转化为图片放到另外一个屏幕上,如果是拓展就没有了

dependon commented 3 years ago

我怀疑双屏那个操作我写的有问题

Zyx-A commented 3 years ago

另外,我刚刚发现,如果是双屏,拔掉双屏,再重新插上去,刚刚被拔过的扩展屏桌面就会变成黑屏,除非把壁纸软件重启下,才有用。暂停/播放、重新设置壁纸、更换壁纸,均不能解决问题

Zyx-A commented 3 years ago

如下截图,这是我的配置,期间并未开启“智能模式”。另外,我是扩展双屏,均为1080P分辨率。历史视频导入数量为16个视频。 另,在开始菜单、命令行中并未找到mpv播放器,无mpv命令。 """ $ dpkg -l | grep mpv ii libmpv1:amd64 0.29.1.34-1+eagle amd64 video player based on MPlayer/mplayer2 (client library) """

image

双屏,如果切换到扩展模式呢,我怀疑我双屏的时候有一步骤的操作导致的,我双屏是获取数据转化为图片放到另外一个屏幕上,如果是拓展就没有了

请回看三楼,我是扩展双屏(扩展模式那种),不是镜像双屏(镜像模式那种)。

dependon commented 3 years ago

对,我知道,切换那些的时候是会有问题,这个问题也是一个,有点难搞,囧,我是说复制模式可能写的有问题,切换到扩展模式,如果io下去了,那可能我就知道是哪里写出问题了

Zyx-A commented 3 years ago

对,我知道,切换那些的时候是会有问题,这个问题也是一个,有点难搞,囧,我是说复制模式可能写的有问题,切换到扩展模式,如果io下去了,那可能我就知道是哪里写出问题了

你说软件的工作模式啊,还以为你说的是系统的屏幕模式呢。。。 刚刚测试过了,少了一个进程,使用率下去不少,但剩下的那个进程使用率依然很高。截图如下 image

dependon commented 3 years ago

那可能还真实播放器的问题了 sudo apt install mpv,就可以安装播放器了,我是用这个播放器来播放的

dependon commented 3 years ago

如果是播放层的问题,可能比较麻烦了,不过相信他会越来越好,哈哈

Zyx-A commented 3 years ago

那可能还真实播放器的问题了 sudo apt install mpv,就可以安装播放器了,我是用这个播放器来播放的

刚刚试了下 MPV 播放,IO没有上去,始终为0

dependon commented 3 years ago

囧,我下班回去研究下

dependon commented 3 years ago

iotop怎么用,请教下 image

dependon commented 3 years ago

我不太会用iotop,但是我找到了资源占用可能的问题,在我的nvida显卡下,cpu占用很高,我怀疑和这个有关,我现在默认解码方式改变了,且设置里面可以更改解码方式,也许就没有该问题了,1.0.3版本修复的

dependon commented 3 years ago

之前默认解码是auto,他会去找到vdpau,而这个解码在nvdia下就是噩梦,比软解码还要可怕,在amd显卡下却非常的香,怀疑其本身有点缺陷,不过现在修改为gpu解码,且可以自由切换了,在1.0.3版本

Zyx-A commented 3 years ago

iotop怎么用,请教下 image

因为你是使用的普通用户登陆的,而iotop命令需要超级管理权限,因此你可以使用命令:sudo iotop 提权运行。当提示输入密码时,请输入这个用户的登陆密码。

显示出来的结果中,列名为IO的列,就是该进程占用实际读写的硬盘的IO的使用率。在单硬盘的环境下,该列值之和不会超过100%

Zyx-A commented 3 years ago

之前默认解码是auto,他会去找到vdpau,而这个解码在nvdia下就是噩梦,比软解码还要可怕,在amd显卡下却非常的香,怀疑其本身有点缺陷,不过现在修改为gpu解码,且可以自由切换了,在1.0.3版本

我的笔记本显卡为inter的核显,不知道这种情况是否有做兼容? 经过测试,使用GPU模式,硬盘IO的使用率下去了;但我无论选择什么模式,我的CPU使用率一直很高,一直超过30%,请问这个情况能否优化下? 同样的,暂停播放后,CPU的使用率就降低为1%了。

dependon commented 3 years ago

是这样的,播放总会带来cpu的占用,不够后续会引入web壁纸,这种要好很多