Смена (замена) проводника Windows

articles Графическая среда это основная головная боль разработчика, рабочая машина которого напичкана всякими средами разработки, компиляторами, программаторами, эмуляторами, серверами, и пр. фичами. Основная нагрузка интерфейса на железо происходит когда все это запущено одновременно и плюс ещё там что-то ещё и выполняется, а тут ещё процес explorer.exe, основной графический енерджайзер, навис на проц и отхватил 60-70%...

explorer.exe отвечает за "Проводник", "Рабочий стол" и ещё за кучу всякой срани, на поддержку возможности доступа к которой explorer.exe конечно же пожерает ресурсы иногда до 70-80%. в спокойном состояний простоя explorer.exe пожерает от 2-3 до 6-10% CPU. Когда начинаешь активно юзать мышью по монику, то активность explorer.exe возрастает до 12-20%.

explorer.exe не является критическим процессом и может быть закрыт с помощью Диспетчера задач. После его закрытия исчезают элементы рабочего стола и панели задач, но фоновая картинка сохраняется. Процесс может быть перезапущен с помощью Диспетчера задач. Есть более мягкий способ убивания explorer.exe: нажимаем "Пуск - завершение работы" теперь нажимаем и удерживаем Ctrl+Alt+Shift и мышью кликаем на "Отмена".

Вобщем самая лучшая оптимизация проводника Windows это полная смена оболочки explorer.exe на что-то менее агресивное, например progman.exe из первого сервис пака Windows XP, в Windows XP SP3 и Windows XP SP2 progman.exe не запускается, в этих паках progman.exe это просто заглушка.

 Ну нафиг тратить системные ресурсы на пролинковку иконок к отображаемым типам файлов, прорисовку обоев и прочие понты, ведь можно эти ресурсы потратить на более нужные и приоритетные операции! Была мысль перейти на уникс подобные, но там KDE/GNOME тоже хорошо вешает проц да и много софта под виндос, вот стал я в винде резать всё что имело намек на грфику в интерфакесе.

Мы ща будем менять explorer.exe на менее злостный процесс progman.exe из Windows XP SP1. Для начала нам нужно иметь диск Windows XP SP1 и распаковать progman.exe в каталог %Windir% выполнив комманду:

expand -r D:\i386\progman.ex_ %windir%
 

Для Windows 9x: в разделе [boot] файла system.ini найдите строку shell=explorer.exe и впишите в нее имя и путь альтернативной оболочки, например, shell=%Windir%\progman.exe. Если имя файла оболочки было указано неверно, Windows не сможет загрузиться. На этот случай следует приготовить загрузочную дискету.

Для Windows XP: укажите имя и путь альтернативной оболочки в ключе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon для всех пользователей или в HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon для текущего пользователя, строковый параметр Shell. Затем перезагрузите компьютер.

Но перед загрузкой нужно изменить ещё один параметр в реестре если мы не хотим запуска полноценного explorer.exe вместе с панелю задач и т.д. при каждом запуске ярлыка из progman.exe или из другой оболочки, в ветке HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\system.ini\boot нужно сменить строковый параметр Shell:

"

Если не изменить этот параметр, то при каждом запуске из progman.exe ярлыка на каталог будет запущен полноценный процесс explorer.exe вместе с панелю задач, рабочим столом и т.д. и тогда сразу пропадает весь эфект экономии системных ресурсов от смены оболочки. А если мы меняем этот параметр, то в этом случае может отказатся работать какой то говнософт малоизвестных разработчиков, ну и шиш с ним мы будем искать альтернативу.

Так например при указанных выше настройках отказывается работать Download master и Flashget, всё это мы достойно заменили на Free Download Manager который не нагружает своими гребаными баннерами как это происходит в Download master и Flashget к тому же Free Download Manager с открытым кодом и русским интерфакесом.

Мы можем сменить оболочку explorer.exe на любую другую например на файловый менеджер Total Commander, но при этом нужно учитывать некоторые особенности отказа от explorer.exe...

При использовании Диспетчера программ (другой оболочки) обработка заданий из каталога автозагрузки отключается, зато есть возможность запуска заданий по расписанию из планировщика заданий и нам его вполне хватит. Задания по расписанию очень полезны, например при входе запуск файла сценария с командами для очистки временных каталогов, очистка истории, запуска набора своих приложений и пр..

Ещё одна особенность при использовании Диспетчера программ это сворачивание запускаемых программ в трей, после которого их не видно в нашей рабочей области, но это не беда ибо можно в настройках приложения запретить ему сворачиватся в трей.

Есть такое понятие как "Раздувание программного обеспечения" это когда программист Иванов налепил в 10-ть раз больше кода нежели требовалось для нормальной работы приложения. От висты и 7-ой винды я просто фигею сколько там лишних понтов....

Пример 2: вывод списка файлов

Во времена MS-DOS файловые менеджеры (такие как NC или VC) осуществляли вывод списка файлов практически мгновенно. В современных системах, несмотря на многократно возросшую мощь компьютеров, вывод списка файлов занимает довольно длительное время — это связано главным образом со сложной системой иконок файлов, которые во многих случаях генерируются в зависимости от содержания файла. Таким образом, если раньше программе требовалось только получить список файлов и отсортировать его, то теперь требуется для каждого файла либо заглянуть в реестр (чтобы узнать, какая иконка соответствует данному расширению имени), либо прочитать этот файл, чтобы сгенерировать подходящую иконку. Исключением из этого являются файловые менеджеры FAR (консольное приложение, не отображает иконок) и Total Commander (опционально можно использовать фиксированный внутренний набор иконок в зависимости от расширения файла либо вообще не отображать иконки)

На UNIX подобных системах конечно производительность выше из-за другой политики отношения к файлам и каталогам, ну а такие как OpenVMS вовсе поражают своей стойкостью и производительностью:

OpenVMS (англ. Open Virtual Memory System, или просто VMS) — проприетарная 64-разрядная серверная операционная система, разработанная во второй половине 1970-х годов компанией Digital Equipment Corporation для серии компьютеров VAX. Позже портирована на платформы DEC Alpha и Intel Itanium. Сейчас принадлежит Hewlett-Packard. Применяется для построения отказоустойчивых систем высокой готовности и mission-critical применений. Среди российских заказчиков OpenVMS преобладают оборонные структуры и банки, телекоммуникационные компании, предприятия непрерывного цикла (АЭС).

Но нужно помнить, что навороченный интерфейс будь то в UNIX или Windows всегда будет отжирать приличную часть системных ресурсов, также нужно следить за запущеными процессами что бы они не выполняли регулярно каких то задач, в сочетании с другими задачами от других приложений могут значительно повысить расход системных ресурсов даже во время простоя! А также без особой надобности не открывать окна стандартного проводника Windows и запускать приложения с низким приоритетом:

start /MIN /low U:\Program\Opera\opera.exe
 

Средний и высокий приоритет лучше отдавать системным сервисам, таким как службы криптографии, сетевого монитора, антивируса и кстате антивирус тоже не мешело бы оптимизировать, но это из другой оперы;)

После очередного появления в моей системе новых сервисов/серверов, сред разработки, компиляторов, программаторов, эмуляторов, и пр. я постоянно боролся с Windows стараясь отвоевать у него каких-то системных ресурсов на свои нужны..., вот так и пришел к смене стандартного зверя explorer.exe на зверька по меньше progman.exe

Получилось что то вроде X Window System который используется в UNIX-подобных ОС, пусть не работает правая клавиша мыши, некоторые горячие клавиши, пусть лишний раз нажму кнопку, но зато теперь explorer.exe сидит на нулях 0% CPU, а те ресурсы шо он пожерал направлены на более благие дела...

Есть ещё другие специально разработанные оболочки для Windows, но они жрут ещё больше ;))


Добавить комментарий


Защитный код
Обновить

no-script
[ Подробнее... ]
27.25 megabytes