?TC rereads panel after opening some dialog
Moderators: Hacker, petermad, Stefan2, white
?TC rereads panel after opening some dialog
I noticed it while moving videos from my camera (MicroSD card class 10) to PC. I started move with BTM and opened configuration dialog. On OK TC started rereading directory contents and it was terribly slow (one item per some seconds, I saw it because updated item flashed). And TC was almost freezed, I tried to change panel's drive multiple times until TC changed it and cancelled reread operation. I see something similar often when TC does some background reading/writing from/to USB stick and try to browse it (or simply have its folder opened and switch between windows).
I think TC should reduce reread operations if not necessary (there is no any need to update panel contents after opening/closing configuration dialog). Or (maybe and) raise priority of folder readings.
Notes:
1. Auto-refresh is disabled.
2. Noreread=ABHIJKLMNOPQSTUVWXYZ (all letters except fixed drive letters), so TC does reread w/o any permission.
Here you can see short video, it was made after that terrible reread and works faster (number of files in folder decreased because of move operation, there was ~50 files before move) but it still shows how slowly TC does reread while BTM copying something from stick.
I think TC should reduce reread operations if not necessary (there is no any need to update panel contents after opening/closing configuration dialog). Or (maybe and) raise priority of folder readings.
Notes:
1. Auto-refresh is disabled.
2. Noreread=ABHIJKLMNOPQSTUVWXYZ (all letters except fixed drive letters), so TC does reread w/o any permission.
Here you can see short video, it was made after that terrible reread and works faster (number of files in folder decreased because of move operation, there was ~50 files before move) but it still shows how slowly TC does reread while BTM copying something from stick.
- ghisler(Author)
- Site Admin
- Posts: 50541
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Wow, that's horribly slow - any idea what is going on (e.g. when looking with "process monitor"? Looks like TC is re-loading icons or overlay icons.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
I made a test with clean INI using my phone's MicroSD, it works much faster with disabled overlays, and all become slow again when I enable them.
Does TC draw overlays in main drawing thread? It would be nice to draw standard icons first and then add overlays in background thread when folder is listed and UI is responsive.
Does TC draw overlays in main drawing thread? It would be nice to draw standard icons first and then add overlays in background thread when folder is listed and UI is responsive.
- ghisler(Author)
- Site Admin
- Posts: 50541
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
No, it loads them in the background thread and later draws the overlay icons in the foreground. That shouldn't cause such a horrible delay in the foreground! Any idea what overlay extension is causing it?
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
I clearly see that main thread is hungs: TC draws items one by one and when it hangs it draws icon and tries to draw file name near the icon... maybe when TC tries to apply overlay?
Strange, I disabled ALL items in ShExView and I still see how TC freezes sometimes between drawing icon and text (maybe TC just gets filelist by blocks but why does it freeze between drawing icon and text?).
Strange, I disabled ALL items in ShExView and I still see how TC freezes sometimes between drawing icon and text (maybe TC just gets filelist by blocks but why does it freeze between drawing icon and text?).
- ghisler(Author)
- Site Admin
- Posts: 50541
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Sorry, I have no idea, and I cannot reproduce it either.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Do you have slow MicroSD cards in some device?
By the way here I see same behaviour: TC hangs while rereading folder contents (while child TC process writes file during termination), but in that case it lasts for about 20 seconds (12 files in a folder), and I can do nothing because it doesn't reacts on keypresses (Esc too).
By the way here I see same behaviour: TC hangs while rereading folder contents (while child TC process writes file during termination), but in that case it lasts for about 20 seconds (12 files in a folder), and I can do nothing because it doesn't reacts on keypresses (Esc too).
- Balderstrom
- Power Member
- Posts: 2148
- Joined: 2005-10-11, 10:10 UTC
This isn't just Beta-related is it? I get agonizingly slow drive loads/refreshes for even hard-drives.
Especially noticeable when opening "My Computer" or one of the 4 drives that hasn't been active recently. TC freezes, and Windows usually offers to shut down the offending application before TC finally responds.
I've often wondered why TC doesn't "cache" the base-drive info, and root folders of all the drives; display from the cache, and update in the background - without locking up the whole program.
Especially noticeable when opening "My Computer" or one of the 4 drives that hasn't been active recently. TC freezes, and Windows usually offers to shut down the offending application before TC finally responds.
I've often wondered why TC doesn't "cache" the base-drive info, and root folders of all the drives; display from the cache, and update in the background - without locking up the whole program.
*BLINK* TC9 Added WM_COPYDATA and WM_USER queries for scripting.
- ghisler(Author)
- Site Admin
- Posts: 50541
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
No, it's not beta-related. It's probably caused by some third party icon or icon overlay extension. But so far I have no clue what is causing it in this specific case. You can try to disable icon-related shell extensions with ShellExView and check if it helps.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
Balderstrom,
In your case HDD may simply park heads or spin down (standby mode) so it needs some time to be able to read some data from it.
ghisler,
I doubt that it is a shell extension because I tried to disable all of them, and I never install many programs with shell extensions. Problem is that TC sometimes tries to get data and hangs if drive is busy...
In your case HDD may simply park heads or spin down (standby mode) so it needs some time to be able to read some data from it.
ghisler,
I doubt that it is a shell extension because I tried to disable all of them, and I never install many programs with shell extensions. Problem is that TC sometimes tries to get data and hangs if drive is busy...
- ghisler(Author)
- Site Admin
- Posts: 50541
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
The lists are refreshed in two cases:
1. Some of the changes made in settings may affect the file list
2. When receiving directory change notifications while a dialog box is up, they are ignored - but the lists are refreshed when TC gets the focus back
But this isn't the problem - it doesn't explain why reading the directory is so slow in his case.
1. Some of the changes made in settings may affect the file list
2. When receiving directory change notifications while a dialog box is up, they are ignored - but the lists are refreshed when TC gets the focus back
But this isn't the problem - it doesn't explain why reading the directory is so slow in his case.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com