Winstep

Software Technologies


 Winstep Forums


Print view
Board index : Winstep Forums : General Discussion  [ 5 posts ]
Author Message
 Post subject: Option to load shelf/dock icons in background
PostPosted: Tue Mar 01, 2022 5:20 pm 
Offline

Joined: Tue Sep 21, 2021 1:42 am
Posts: 20
I have a shelf with 10 tabs. On bootup when I open most tabs I have to wait like 3-5 seconds before it loads all icons depending on how many icons there are. Some tabs don't need to load at all, the icons appear instantly. It doesn't seem to matter if the apps are located on a hard drive or an SSD. On one tab, which has the most icons, all the apps are Windows programs (Control Panel, Windows Update, Device Manager, etc.) and the icons never have to load. On another tab all the apps are also on the boot SSD and it takes the longest out of all the tabs to load .

This is a bit annoying because clicking on an icon that hasn't cached yet usually won't register so I'm forced to patiently wait for them to appear. Changing to a different tab while it's loading also interrupts the process.

Can we get an option to have the icons automatically load in the background when Windows starts or anytime it's re-opened and all the icons haven't cached? I've gotten into the habit of clicking each tab and loading all the icons after I login to Windows to get it out of the way but it's become tedious. I feel I shouldn't have to do this everytime I bootup or restart Windows.


Back to top
 Profile  
 
 Post subject: Re: Option to load shelf/dock icons in background
PostPosted: Wed Mar 02, 2022 10:27 pm 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11936
When you open a tab in a Shelf for the first time, the icons for the shortcuts it contains must be loaded from disk. This can be a very time consuming operation (even on SSDs) if the tab has many items, made worse if those files are located on slow hard disks (or, God forbid, external network drives).

In order for the shelf to remain responsive, if it notices it's taking too long to retrieve the icons (as in over 500 ms) it will open regardless showing all the icon images it managed to retrieve in this time limit and a generic icon for all other items. It will then 'lazy render' the remaining visible icons in the background, one by one (and one extra row below the visible rows, if the tab has multiple rows of icons).

This ensures the shelf remains responsive. Nothing worse than clicking on a tab and nothing happening for a long period of time because the application is busy retrieving icons and won't open the tab until it got them all.

As it retrieves these icons, the Winstep application also caches them in memory, so that from then on that particular tab will open instantly. This is great if that tab is the type you open frequently.

The problem with this is that caching icons in memory will, well, use a lot of it (and many people still worry about memory usage, which is why you have Preferences -> Advanced tab -> Performance Settings)

Because there is a trade-off between speed and memory usage, it follows that
there must also be a balance between speed and memory usage, and that is something the Winstep application does pretty well.

If you never open a tab, then the icons in that tab will never be cached in memory either, thus they won't use any memory (unnecessarily).

Understand now one of the problems with your request? For instance, a shelf can reference a folder with THOUSANDS of files. Imagine memory usage if it rendered each of those icons in the background.

You could run into issues even if only the *visible* row of icons for each tab in a shelf was rendered in the background: for instance, some people do the absolute no-no of placing shortcuts in a dock or shelf to files on network drives. That is a recipe for disaster EVEN with the mechanisms the Winstep application has to remain responsive.

Ever noticed how long Network Neighborhood takes to populate with remote shares etc? Now imagine if that happens while the Winstep application is trying to retrieve an icon stored on a remote drive (or a disk that is sleeping and now needs to spin up) in the background. Worse, if it happens when you click on a tab, you will know it has something to do with that particular tab, but otherwise? You would have no clue, neither would I, and there would potentially be a lot of people here complaining that the Winstep application occasionally freezes for a long time.

So, I'm sorry but you will simply have to learn to be a bit more patient. :D The lazy rendering only happens the first time you click on a tab and it's not like you reboot your PC every 5 minutes, right?

P.S. Getting a bit more technical: due to the framework in which Winstep applications were built since the 90's, they are single-thread, not multi-threaded. This means that if a call to retrieve an icon blocks (takes a long time to return or freezes), so will the rest of the application. That is why many tricks (such as lazy rendering the icons) are employed to simulate multi-threading, in order for the application to always remain responsive. But there is always that risk of a blocking call...

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: Option to load shelf/dock icons in background
PostPosted: Wed Mar 02, 2022 11:06 pm 
Offline

Joined: Tue Sep 21, 2021 1:42 am
Posts: 20
Is it possible to permanently cache the icons to a folder? All the icons would be in the same place. You wouldn't need to access different drives. Could that fix the background loading?


Back to top
 Profile  
 
 Post subject: Re: Option to load shelf/dock icons in background
PostPosted: Thu Mar 03, 2022 5:12 am 
Offline
Site Admin
Site Admin
User avatar

Joined: Thu Feb 26, 2004 8:30 pm
Posts: 11936
The idea is to cache icons to memory, not to another drive - it's an order of magnitude faster.

Anyway, that would create a bunch of other issues as well.

_________________
Jorge Coelho
Winstep Xtreme - Xtreme Power!
http://www.winstep.net - Winstep Software Technologies


Back to top
 Profile WWW 
 
 Post subject: Re: Option to load shelf/dock icons in background
PostPosted: Thu Mar 03, 2022 5:40 pm 
Offline

Joined: Tue Sep 21, 2021 1:42 am
Posts: 20
Well that's unfortunate. Thx for the reply!


Back to top
 Profile  
 
Post new topic Reply to topic Board index : Winstep Forums : General Discussion  [ 5 posts ]
Display posts from previous:  Sort by  

Who is online

Users browsing this forum: No registered users and 299 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron