Processing Ajax...

Title
Close Dialog

Message

Confirm
Close Dialog

Confirm
Close Dialog

Confirm
Close Dialog

[REQ] Add setting "Refresh Wallpaper Image List After:" to Desktop Wallpaper Slideshow-My Images

User Image
sandmann
65 discussion posts
DisplayFusion currently refreshes the wallpaper image list every time the wallpaper image changes.

The DisplayFusion Photos Screen Saver has a setting "Refresh Image List After: (minutes)" that allows the user to specify how often DF should enumerate the local directories. This image library does not have a high rate of change so I set this to "9999" (its max value) to minimize disk and CPU usage.

The Wallpaper image library similarly does not have a high rate of change. But with large image libraries, monitor splits, multiple monitors, the CPU and disk usage can be extremely high. A 100,000 image library and a single monitor in a 2x2 split will cause 4 directory enumerations of 100,000 files each. (Or if each monitor split has a unique library.)

This is wasteful and unnecessary in the vast majority of cases. Especially in a wireless network environment if the images are on a network drive.

Instead, add a setting allowing this to be user-configured. If unset, the current behavior is maintained. Set to 0 (zero) to tell DF to only refresh the image list when it starts. Or up to 9999 minutes between refreshes.

Extra unnecessary thoughts: I know DF displays a message "Warning: Setting your wallpaper change interval to less than 1 minute may cause frequent disk usage" when you do this. I have it set to 1 minute because anything less makes my system unusable. Even with this, at about the midpoint between wallpaper changes, 30-32 seconds, the UI on my computer freezes, by which I mean characters I type do not display for 2-3 seconds; I can move the mouse pointer but clicks do not register immediately; and so on. (As far as I can tell, underlying system processes do not seem to be affected.) The problem gets worse as the day goes on (UI freezes for 10-20 seconds). The only solution is to log-off and log-on again, that seems to free up the resources DF is consuming. Depending on what I am doing, I might have to do this as often as every 3 to 4 hours. If I disable DF wallpaper changes there are no problems.

One more nail, these constant extra directory enumerations also increase writes to SSDs, which have a finite write limit.

And lastly, older posts described periodic CPU spikes which your developers spent a lot of time trying to track down. Were any of the causes wallpaper directory enumeration?

Thanks.
Jun 22, 2017  • #1
Keith Lammers (BFS)'s profile on WallpaperFusion.com
I've added that advanced setting to our feature request list :)

Regarding the temporary freeze when changing the wallpaper, that only seems to happen on some machines, but I've never been able to reproduce it here :(

The CPU spike is caused by the .NET image library generating the final wallpaper image to be displayed. The directory enumeration is usually pretty quick :)
Jun 26, 2017  • #2
User Image
Cody Thurber
10 discussion posts
Hey there, Keith! This topic is old, but my question is somewhat related, so I figured I'd ask here.

Am I correct in understanding that the "Refresh Image List After: (minutes)" setting for screen savers means that DF will only refresh the actual image library every (in my case) 9,999 minutes? And if I don't have enough photos to fill that time (and the delay between photo changes), then it would just be a black screen?

I know it is a dumb/basic question, but just wanted to make sure I was setting it correctly, haha. Thanks! :)
Dec 9, 2021  • #3
Keith Lammers (BFS)'s profile on WallpaperFusion.com
I've checked in with our developers on this. That setting tells the screen saver how often to rebuild the file list. It won't show a black screen though if it runs out of files, it will just keep showing the images that are in the list from the last time it refreshed.
Dec 16, 2021  • #4
Subscribe to this discussion topic using RSS
Was this helpful?  Login to Vote(-)  Login to Vote(-)