Page 1 of 4

Freezing / lagging during thumbnail creation

Posted: 26 Mar 2020 00:46
by matija
(First time poster. Evaluating whether I can switch from TC..)

When I go into a folder where thumbnails are being created, XYplorer becomes unresponsive while each thumbnail is loading. If I click on various files while a thumbnail is loading, nothing happens, and then when one thumbnail loads, the program responds for a split second, before becoming unresponsive again while the next thumbnail loads. If thumbnails are loading, I can't even change directories, or press any buttons.

On a local drive, it is slow.
On a cloud-based drive (ie. google file stream) this is extremely slow.

With TC, I'm used to thumbnails loading in the background, and being able to navigate regardless of whether thumbs are finished loading or not, and regardless of whether it's a local drive or not.

In XYplorer, is there an option I can toggle to get rid of this issue? I did a search, but didn't find anyone with the same issue.

Re: Freezing / lagging during thumbnail creation

Posted: 26 Mar 2020 16:03
by m48tx
Your observation is correct, XY is unresponsive during thumbnail creation. Possibly the moderators have a work around, but I am not aware of such.

I find XY is very fast at creating thumbnails, even at the highest quality. I use the "Cache on disk" option to permanently store the created thumbnails on a drive separate from the image files. (My system is all SSD drives and I do not use the cloud to store anything.)

XY is an excellent file manager and its many useful options far outweigh this one issue, in my opinion.

Re: Freezing / lagging during thumbnail creation

Posted: 26 Mar 2020 19:37
by Filehero
For historical, and therefore technical reasons, XYplorer doesn't support a feature called lightweight-multitasking (it's inherent to the programming language XYplorer has been founded on), but there's a rather simple workaround: non-lightweight multi-tasking. :)

Just use a second XYplorer instance for tasks supposed to run for a longer time (and thereby "blocking" the GUI).

Either
- use File > Open Throw Away Clone
- or - if you have ticked the setting General > Startup & Exit > Allow multiple instances - <shift>+<left-click> the xyplorer.exe to open another XYplorer instance
- enter ::run("<xy>"); into the address bar and hit <enter>

Additionally, XYplorer already supports background processing for copy/backup tasks. Maybe this great feature could be extended to thumbnail creation in the future.


Cheers,
Filehero

Re: Freezing / lagging during thumbnail creation

Posted: 27 Mar 2020 01:00
by matija
Filehero wrote:
26 Mar 2020 19:37

Just use a second XYplorer instance for tasks supposed to run for a longer time (and thereby "blocking" the GUI).

Either
- use File > Open Throw Away Clone
- or - if you have ticked the setting General > Startup & Exit > Allow multiple instances - <shift>+<left-click> the xyplorer.exe to open another XYplorer instance
- enter ::run("<xy>"); into the address bar and hit <enter>
The cognitive load required to do that several times a day (I work with video, graphic design, live streaming, thousands of image/video files) makes XYplorer not feasible as a contender to TC, which is a real shame, since many of its other features are light years ahead of TC. Your suggested workaround (for which I am grateful) is exactly the type of hacky headache that I am trying to get away from with TC.

I'm wondering if there are plans to address this shortcoming. With cloud based on-demand syncing becoming more and more commonplace (Dropbox Smart Sync, Google Drive File Stream, etc), the thumbnail issue will only become more of a dealbreaker for people considering migrating to XYplorer, like myself.

Re: Freezing / lagging during thumbnail creation

Posted: 27 Mar 2020 03:12
by m48tx
Filehero, I was going to suggest this as well until I tested it, then decided not to mention it as the thumbnail cache was not consistent between instances. Start instance 1 and start making thumbnails. Start instance 2. Thumbnails created in instance 1 are not visible to instance 2 and instance 2 will recreate those same thumbnails. Thumbnails created in instance 2 are not visible to instance 1. Etc. It was not worth the effort.

Re: Freezing / lagging during thumbnail creation

Posted: 27 Mar 2020 07:56
by Filehero
Hi Gary,

I haven't done a run before posting, sorry.
Since both instances are disconnected at runtime, the behavior you described is expected.

What happens when you use the ::run("<xy>"); way, close all instances once the thumbnail creation has finished and restart one instance? Are the thumbnails (still) there?


Yes, it's just a workaround.

Re: Freezing / lagging during thumbnail creation

Posted: 27 Mar 2020 12:49
by klownboy
You can definitely create or rebuild thumbnails in a background instance of XYplorer and those thumbnails will be available for proper use in the original instance of XY. This is done as a default option in the Thumbnail Maintenance script viewtopic.php?f=7&t=12257. The new background instance is started and thumbnails created, and upon completion of thumbnail creation, the 2nd instance is automatically closed. Those thumbnails are available and usable in the original instance of XY when the script has ended. Something like this could be used (I tried to simplify / modify it from the script):

Code: Select all

	run "cmd /c <xy> /path=""D:\YourPath"" /new /win=tray /script=""::if(replacelist(get('view'), '0|1|2|3|4|5|6|7|8|9', '302|303|304|305|306|307|308|309|313|314','|') != 308){#308;wait 50;#1001;}#501;wait 50;#1001;if(get('instance')=='2') {exit 'n';}""", , 2, 0;
Edit: I missed a closing parenthesis for the if statement - fixed.

Re: Freezing / lagging during thumbnail creation

Posted: 27 Mar 2020 16:09
by m48tx
Hi Filehero,

When I try your suggestion, this is what happens (I am using v20.80.0503 and the path is exactly where XYplorer.exe is located):

Re: Freezing / lagging during thumbnail creation

Posted: 27 Mar 2020 16:17
by highend
run is not a function.

One way:
::run """<xy>""";

Re: Freezing / lagging during thumbnail creation

Posted: 27 Mar 2020 16:33
by m48tx
Thanks highend. That worked to start the instance. Here's what I found:

1) There is no way to tell which instance is active. Pay close attention to taskbar.
2) You should create all required thumbnails in instance 2, then close instance 2 before accessing thumbnails in instance 1. Otherwise, when both instances are open, thumbnails will be created in both instances for the same folder. So to be safe, don't display thumbnails in instance 1 while instance 2 is active.

A work around for sure, but a big ask of the user?

Re: Freezing / lagging during thumbnail creation

Posted: 27 Mar 2020 16:42
by m48tx
Hi kownboy,

I am using V1.18 of your script since I cannot get v1.19 to work for me. When I follow your instructions, this is what happens:

Re: Freezing / lagging during thumbnail creation

Posted: 27 Mar 2020 16:47
by klownboy
m48tx wrote:
27 Mar 2020 16:33
1) There is no way to tell which instance is active. Pay close attention to taskbar.
typing e get("instance");in the address bar will tell you what instance is active, but that may not work if thumbnail creation is in progress in that instance.
m48tx wrote:
27 Mar 2020 16:33
2) You should create all required thumbnails in instance 2, then close instance 2 before accessing thumbnails in instance 1...
...which is essentially what I stated in my previous post.

Re: Freezing / lagging during thumbnail creation

Posted: 27 Mar 2020 16:54
by Filehero
highend wrote:
27 Mar 2020 16:17
run is not a function.
Works perfectly fine over here. :confused:

Re: Freezing / lagging during thumbnail creation

Posted: 27 Mar 2020 17:10
by m48tx
Hi Filehero, what version of Windows and XY? I am on Win10 1909 and XY 20.80.0503

Re: Freezing / lagging during thumbnail creation

Posted: 27 Mar 2020 17:19
by m48tx
Thanks klownboy! I had to enter ::e get("instance"); but regardless, thanks for this. And it does work while creating thumbnails but appears to suspend thumbnail creation until the information box is closed.