luisbocanegra / plasma-smart-video-wallpaper-reborn

Smart Video Wallpaper for KDE Plasma 6
https://store.kde.org/p/2139746
GNU General Public License v2.0
45 stars 1 forks source link

Share video across screen to enhance performance? #23

Open JurgenCruz opened 1 week ago

JurgenCruz commented 1 week ago

Hi, This is an enhancement request, not a bug.

I have a 3 screen setup and all of them are running the same setup of a single looping video. I notice that if I only have 1 screen with video it uses less resources. I assume this is because it is really just playing the video 3 times. Which makes sense if you want different videos on each screen.

I was wondering if it was possible to share the one video across the screens so that it renders it only once and saves some resources. My CPU is at 3% idle and my GPU around 17% idle. If not possible, it is OK.

Thanks and awesome plugin BTW

luisbocanegra commented 1 week ago

https://github.com/luisbocanegra/plasma-smart-video-wallpaper-reborn/issues/18#issue-2289302485

On the matter of performance there are two additional notes that I wanted to add but felt way too minor to be their own things, 1st : would it be possible to 'share' resources between monitors? Maybe I'm wrong (I have very little reference here) but if you're playing the same video on both desktops, it seems like you could just mirror the content for near-free since you only need to decode it once. 2nd : would it be possible to generate basically an LOD version of the video? In other words instead of outright pausing the video instead start playing a lower-resolution version of the video, with the reduced resolution being made up for by the blur-effect. Not sure if that's even a little bit possible to do, but it'd allow the video to play non-stop while using a fraction of the resources. This would keep multi-monitor setups more cleanly in sync. Amazingly the pausing/resuming is basically seamless, but if one display has a fullscreen application which makes the video pause and the other doesn't then they will desync which can be quite noticable depending on the video you use. Additionally an LOD system would probably make translucent windows look nicer, but I don't use any translucent window rules myself so I can't speak for that

Let's track these ideas here too.

luisbocanegra commented 1 week ago

I really like the idea, my knowledge on C++/Qt is limited. But will gladly accept PRs if someone more experienced wants to help with that.

Also, if possible, the plugin should still be able to work without the compiled parts so it can still be distributed to the KDE store.