Андрей
Строганов
aka DJ-Andrey-sXe

Ускорение работы Windows-программ с использованием альтернативного менеджера памяти 7-max

Обновлено 22 ноября 2004

Предисловие

Очень часто среди ПО для тонкой настройки параметров Windows (так называемых твикеров — от английского «Tweak») встречаются такие, в описании которых присутствуют обещания повысить производительность как программ, так и самой ОС. На деле же это верно лишь отчасти, потому что эти настройщики предоставляют удобный и централизованный интерфейс для настройки как стандартных параметров системы, до которых и так можно с успехом добраться средствами ОС, так и скрытых, которые можно изменить вручную пользуясь редактором реестра. Еще такие (или отдельные) утилиты предоставляют возможности высвобождения памяти перед запуском тяжёлого, требовательного к памяти приложения, а также чистку и/или дефрагментацию реестра. Стоит упомянуть и о программах-дефрагментаторах… Но все это старые способы, которыми никого удивить уже не удается (разве что алгоритмы могут быть новыми, но не более того).

Уже давно хотелось чего-то принципиально нового. И, как оказалось, есть такое решение. Это применение альтернативного менеджера памяти. Многое, наверное, наслышаны о том, что Windwos «славится» своим обращением с памятью и в свете этого мне стало очень интересно испробовать такой способ ускорения. Альтернативный менеджер 7-max, о котором и пойдет речь в этой статье, распространяется совершенно бесплатно, что не может не радовать. Название сразу бросается в глаза. Вспоминается выдающийся архиватор под названием 7-Zip. И это не случайно. Их разрабатывает один и тот же человек, а значит и от этого продукта стоит ожидать как минимум неплохих результатов. Если говорить коротко, то его преимущество состоит в том, что он более оптимально и рационально управляет использованием памяти.

Установка

Итак, самое время приступить к делу. Для начала скачайте дистрибутив 7-max с официального сайта по адресу http://www.7-max.com. На момент написания статьи последней версией являлась версия 4.01. Весит он менее 200 Кб. Исходные тексты также доступны. Установка простейшая, она проходит быстро и без проблем. Сразу хочется сказать, что менеджер предназначен только для Windows 2000/XP Про другие версии NT ничего не сказано, но хочется верить, что он заработает и на других версия Windows семейства NT.

Настройка

Когда Вы установили 7-max, в одноименной папке в группе программ создались ярлыки на справку и саму программу. Запускайте ее. Откроется диалоговое окно. Это окно позволяет настроить файл настройки загрузчика «boot.ini» для работы с 7-max. При помощи кнопки «Create 7-max Entry» создайте новую запись с использованием 7-max и выделите ее. Поле «Total memory (MB):» показывает объем оперативной памяти. При помощи полей «7-max memory (MB):» или «System memory (MB):» либо ползунка, расположенного справа от них отрегулируйте отношение объемов памяти, отводимого 7-max и оставленного системе соответственно. Автор менеджера рекомендует соотношение 1/4. Потом поэкспериментируете. Установить рекомендуемое соотношение можно кнопкой «Recommended values». Кнопка «Set» устанавливает выбранные Вами настройки в выбранную в списке запись. Кнопка «Set Default» устанавливает выбранную запись по умолчанию при загрузке. Кнопка «Save Changes» сохраняет файл «boot.ini». Настройка закончена. Теперь перезагрузитесь в режиме 7-max при помощи только что созданного варианта загрузки.

Использование

А пользоваться 7-max проще простого. Есть 3 варианта использования:

  1. Запуск программы из графического интерфейса 7-max. Запустите тот же ярлык, что и при первой настройке, но в этот раз программа запустится в виде менеджера задач. Выполните команду меню «File → Run…», выберите программу и нажмите «Ok«.
  2. Запуск из контекстного меню программы или ярлыка (на мой взгляд, самый удобный способ). Щелкните правой кнопкой мыши по ярлыку или программе и выберите в контекстном меню пункт «Run with 7-max».
  3. Способ для консольных приложений: Обычно вы запускаете консольное приложение так:
    имя_консольной_программы [список параметров]

    а с 7-max команде будет выглядеть так:

    7maxc имя_консольной_программы [список параметров]

При использовании любого из 3 способов результат одинаков: программа запустится с 7-max.

(Можно еще напридумывать способов запуска, например, изменение командных строк у ярлыков программ и т. п. Можно даже попробовать заменить open command у exefile в реестре, но, во-первых, я не пробовал, во-вторых, могут возникнуть проблемы с консольными приложениями при использовании 7max и наоборот.)

Устранение неполадок

Автор программы пишет, что если при отказе программ работать в режиме 7-max следует войти в программу 7-max, выбрать пункт меню «Tools → Options…» и снять галочку с «Use fast working method».

Еще так бывает, что у вас интегрированный видеоадаптер, который берет себе кадровый буфер из основной памяти. Если Вы испытываете проблемы при использовании 7-max, вычтите объем памяти, резервируемый видеоадаптером, из общего объема основной памяти и впишите результат в поле «Physical memory size limit (MB):».

Лично у меня проблем при использовании 7-max никаких проблем не возникло.

Тестирование

Самое интересное — это ответ на вполне резонный вопрос: а действительно ли этот менеджер памяти ускоряет работу приложений? Я, когда увидел описание программы, отнёсся с недоверием к таким заявлениям, как ускорение работы на 20%. Решил протестировать. Первое, что пришло на ум, это опробовать продукт на такой ставшей уже практически стандартной вещи как WinRAR. Зарядил я ему 60 метров различной информации от mp3 до html. Алгоритм выбрал памятежадный: наилучшее непрерывное сжатие + большой размер словаря. В обоих случаях использовался один и тот же алгоритм. Результаты превзошли все ожидания:

время на сжатие в обычном режиме = 4:23время на сжатие в режиме 7-max   = 3:06

Скорость сжатия возросла почти в полтора раза! Я планирую провести тестирования в других тяжелых приложениям, таких как профессиональных растровые/векторные редакторы, пакеты 3D-можелирования (загрузка, просчет динамики, рендеринг и прочее) обработка звука/видео и многое другое. Заниматься этим сейчас мне не хочется, и нет времени, поэтому вы можете прислать свои результаты тестирований. Я с вашего разрешения дополню ими статью. Действительно важные замечания и дополнения по статье также приветствуются.

Дополнение от 22 ноября 2004:

Сегодня проверил, разницу во времени при сборке либы libSDL-1.2.5 (Win32) при помощи Visual C++ .Net 2003. Подробности: конфигурации в обоих случаях Release, после первой сборки все нагенеренные вспомогательные файлы, естественно, былы очищены (чтобы билд был с нуля), а студия закрыта, позапускались другие программы (чтобы очистился дисковый кэш) и запущена заново. Т. е., как видите, фору не даю. Результаты:

без 7-max = 2:31  с 7-max = 1:18

И вновь результат удивительный!

Однако, хочу заметить, что маленькие проекты, которые собираются секунд за 5-10, с 7-max собираются столько же. Это не значит, что 7-max плох, а скорее то, что он бывает НЕ хуже, чем стандартный менеджер.

В следующий раз напишу, как дела обстоят со сжатием видео…

Заключение

Самое основное изложил. Остальное смотрите в справке и не забывайте наведываться иногда на сайт производителя за новыми версиями.

Ну что ж, не зря ругают менеджер памяти Windows? Программы могут работать быстрее. И 7-max тому доказательство. Но не стоит забывать и про твики и дефрагментацию всего, чего только можно. Вместе с 7-max ваш компьютер заработает с новой силой. На этом попрощаюсь и желаю удачного и беспроблемного использования описанной программы.

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