Подвисания ТС при открытии каталога и/или прокручивания

Обсуждение любых программ, не имеющих отношения к Total Commander.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Ответить
Skif_off
Сообщения: 1255
Зарегистрирован: Ср ноя 28, 2012 13:44

Подвисания ТС при открытии каталога и/или прокручивания

Сообщение Skif_off »

По умолчанию использую подробный вид, после использования вида с WDX-плагинами или, например, настройки наборов колонок (ТС в этом случае загружает все плагины, чтобы прочитать доступные поля), появляются тормоза при открытии каталогов и прокручивании списка в панели.
Независимо от размера каталога и количества файлов/папок в нём. SSD/HDD - значения не имеет.

Дабы не копипастить, отсюда и ниже пытался сформулировать, мнение Dec:
Нужно понимать, что авторы плагинов имеют разную квалификацию. И вполне возможно, что какой-нибудь маленький, но полезный плагинчик, написанный начинающим разработчиком, не освобождает захваченные ресурсы, не закрывает используемые хендлы, теряет GDI объекты, не освобождает интерфейсы и т.д. И все это приводит к тормозам.
Подскажите, пожалуйста, как можно найти этот плагин (или *.dll?)? Есть Process Hacker, дебаггер от NirSoft, x64dbg, могу посмотреть в API Monitor (если точно знать, что искать).

Пробовал искать, деля список WDX-плагинов пополам, - не получилось, попутно возникла мысль, что дело не в одном конкретном.

Список установленных плагов:
[cut]Age\Age.wdx
AKFontInfo\AKFontInfo.wdx
AKMedia\AKMedia.wdx
APK-wdx\APK.wdx
Autorun\Autorun.wdx
DateNames\DateNames.wdx
decID3WDX\decID3WDX.wdx
decRecycleBinWDX\decRecycleBinWDX.wdx
Directory\Directory.wdx
DirSizeCalc\DirSizeCalc.wdx
EmptyCheck\EmptyCheck.wdx
EncInfo\EncInfo.wdx
ExeFormat\ExeFormat.wdx
ExeInfo\exeinfo.wdx
wdx_EXIF\exif.wdx
Expander\Expander2.wdx
FastFb2\FastFb2Wdx.wdx
File\File.wdx
wdx_FileDateTime\FileDateTime.wdx
FileGroups\FileGroups.wdx
FileMask\FileMask.wdx
wdx_FilenameChrCount\Filename_ChrCount.wdx
FileX\FileX.wdx
Image\Image.wdx
wdx_ImgSize\ImgSize.wdx
IsDotNET\IsDotNET.wdx
JPG-comment\jpg-comment.wdx
LotsOfHashes\LotsOfHashes.wdx
Misc\Misc.wdx
NL_Info\NL_Info.wdx
NTFSFileStreams\NTFSFileStreams.wdx
NTLinks\NTLinks.wdx
Office2007\Office2007.wdx
PCREsearch\PCREsearch.wdx
ReadPE\ReadPE.wdx
ShellDetails\ShellDetails.wdx
Shortcut\Shortcut.wdx
SkipCompare\SkipCompare.wdx
TCMediaInfo\TCMediaInfo.wdx
Tempus\Tempus.wdx
TextLine\TextLine.wdx
TextSearch\TextSearch.wdx
Today\TodayCreation.wdx
Today\TodayLastWrite.wdx
UnicodeTest\UnicodeTest.wdx
Translit\wdx_translit.wdx
wdx4i\wdx4i.wdx
WDXTagLib\wdxtaglib.wdx
xPDFSearch\xPDFSearch.wdx[/cut]

Win7x64, TC 8.52a 32+64bit.
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Skif_off
А почему во Флейме?
Даже самая богатая фантазия
Не представит себе наши безобразия.
Skif_off
Сообщения: 1255
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

Avada
Да честно говоря просто растерялся слегка: для раздела Программное обеспечение вроде как не очень подходит - речь о ТС всё-таки, но предполагаю, что без сторонних средств не обойтись, тогда вроде и Общие вопросы - не совсем. Флейм - это беспроигрышный вариант :) В новых сообщениях видно, а если ошибся, то поправят. Только немного неудобно мониторить тут тему - приходится логиниться.
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

Для начала можно прогнать через Process Monitor. Он покажет запросы к файлам, и можно будет проследить задержки в обработке. Для самых больших задержек можно посмотреть стек вызовов и по нему увидеть, какой плагин обратился к файлу.

Ну и стоит иметь в виду, что плагины обрабатываются независимо. То есть если для отображения списка файлов требуется вызвать все перечисленные плагины (один для цвета, другой для одной колонки, третий ещё для одной колонки), то это само по себе не может быть быстро. Каждый плагин должен будет самостоятельно открыть каждый файл текущего каталога, обработать его, закрыть. И так, возможно, несколько раз (для нескольких полей).

По расположению темы: всё-таки ПО логичнее. Переношу туда.
Почему же, ё-моё, ты нигде не пишешь "ё"?
Skif_off
Сообщения: 1255
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

CaptainFlint
Название темы получается лишком общим :), т.к. тормоза есть и только после того, как wdx-плагины будут просто загружены.

Надо было сразу уточнить, прошу прощения. Всегда включен подробный вид, переключаюсь на пользовательские наборы только при необходимости, выглядит всё так:

- подробный вид, из wdx-плагинов загружены только Autorun и TextLine + на Alt+Shift+Enter висит cm_CountDirContent,cm_LoadAllOnDemandFields, чтобы привычно работало с DirSizeCalc;
- открываю настройки пользовательских наборов;
- создаю новый набор, добавляю колонку, открываю список wdx-плагинов - ТС загружает _все_, чтобы прочитать доступные поля;
- пробегаюсь по списку;
- ничего не сохраняю, просто жму везде отмену и закрываю окно настройки;
- вид остаётся всё так же подробный, но навигация и прокручивание уже с заметными задержками, независимо от размеров и количества элементов (при этом ТС на SSD, навигация по SSD - задержки), в Process Hacker вижу всю пачку wdx-плагинов.

Т.е. вроде получается, что фактически wdx-плагины не использовались, просто были загружены для получения полей. Ну и при собственно использовании пользовательских наборов тоже вылезает, но точный алгоритм не уловил. Решается перезапуском ТС.

Смотрел дескрипторы ТС в Process Hacker - вроде аналогично обычному состоянию, попробую Process Monitor, спасибо.
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

В таком случае хорошо бы сравнить поведение в том же ProcMon'е до и после такой принудительной загрузки плагинов, что меняется: добавляются ли новые обращения или просто обработка файлов начинает занимать больше времени.

Цветовые группы настроены? Что будет если отключить?

А постоянной нагрузки на процессор от Тотала, случайно, не появляется после загрузки плагинов? Может, какой-то плагин зацикливается в фоне и начинает тормозить весь процесс.
Почему же, ё-моё, ты нигде не пишешь "ё"?
Skif_off
Сообщения: 1255
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

CaptainFlint
Цвета настроены, но без использования плагинов (расширения изображений, аудио, видео и скрытые файлы (только атрибуты), отключать не пробовал.

Загрузку проца ещё проверю: потоки в Process Hacker когда-то смотрел, но вроде не припоминаю ничего необычного.
Skif_off
Сообщения: 1255
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

CaptainFlint
Заметил, что после предпоследнего шага появляется ещё один поток со средним приоритетом:

Код: Выделить всё

GdiPlus.dll!GdipPlayTSClientRecord+0x15984
в логе ProcMon GdiPlus.dll появляется после загрузки Image.wdx64 и после загрузки следующего плага больше не используется.
Кусок лога с начала загрузки плага до загрузки следующего + в конце то, что было после нажатия кнопки закрытия ТС (закрытие потока и папки с GdiPlus.dll):
[cut]

Код: Выделить всё

MIME-Version: 1.0
Content-Type: application/octet-stream; name="Logfile2.7z"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="Logfile2.7z"

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
AAAA
[/cut]
Целиком при необходимости. Завтра постараюсь покопаться, попробую и Image выпилить.
Ответить