Ускорение работы AmigaOS 3.x

Материал из Amiga wikipedia
Перейти к: навигация, поиск

Ускорение работы AmigaOS 3.x

Существует два взаимоисключающих подхода к AmigaOS 3.x:

  • Одни утверждают, что необходимо содержать систему максимально близкой к оригинальной, что бы иметь идельаную совместимость с любыми программами, и любое ускорение осуществоять только установкой необходимого железа.
  • Вторые считают, что в Амиге заложен большой потенциал, а операционную систему разработанную в конце 1980-х можно заметно улучшить, внеся изменения в различные библиотеки и установкой патчей.

Ниже рассматривается вариант модификации OS, вносящий исправления в систему и заметно ускоряющий работу Workbench.

Данное руководство подходит только для Амиг с установленной Fast памятью и желательно акселератором, и не подходит для компьютеров с 68000 и 68020, без fast памяти.

Содержание

Системные патчи

Во-первых, необходимо заменить exec.library. Эта библиотека - сердце вашей операционной системы, и желательно, чтобы она была быстра. Скачайте Piru's Exec V44.1 с сайта: http://www.iki.fi/sintonen/sw/ и прочитайте документацию, как пропатчить ваш 40.x ROM. Этот Exec имеет функции от OS3.9 Exec, и вроде бы заметно быстрее.

Во-вторых, скачайте BlizKick - утилиту, позволяющую заменять ROM в памяти, с того же сайта или с аминета. На Аминете и в этой утилите есть множество полезных модулей, таких как BPPCFix, ramlibstack, romfixes и других.

Также вам необходимо скачать env-handler с этого сайта: http://stephan-rupprecht.de/ , убедитесь, что вы прочитали документацию и добавили ее в самое начало стартового скрипта. Это заметно ускорит загрузку и поможет сэкономить несколько KB памяти. (В зависимости от размера директории Encarc:)

Скачайте патч FBlit и установите его в стартскрипте сразу за env-hanlder. Это обязательный патч для всех пользователей с AGA!! Однако, если вы используете видеокарту, то он вам не нужен, и если у вас ECS - он может сильно замедлить работу с графикой. Патч сокращает потребление Chip-Ram и заметно ускоряет работу с графикой! Рекомендуется изучить документацию по FBlit и использовать его в режиме "Exclude task" и указать (?) все нераобтающие с ним программы там, а не в режиме "Include mode".

NOTE: FBlit - один из самых сложно конфигурируемых патчей, необходимо детально изучить документацию. Возможно придется поднастраивать его множество раз. Если вы не очень хорошо в этом разбираетесь, лучше оставьте настройку на потом, просто запомните что его необходимо запускать после env-handler и до SystemPatch.

SystemPatch: Много что ускоряющий патч, в основном расчитанный на пользователей с AGA, хотя помогающий и людям с видеокартами по скольку он патчит не только функции graphics.library. Тем не менее, если вы уже установили Exec V44.1 то пользователям с графическими картами он не даст много смысла.. Пользователям с ECS рекомендуется опия NOINTUITION, иначе некоторые программы работающие с собственными частотами развертки будут виснуть.

Патч хорошо комбинируеется с FBlit и должен запускаться после него. Этот патч заменяет все устаревшие патчи типа APatch, FText, BlazeWCP. После установки, вы можете добавить всякие редкие и неработающие задачи в ENVARC:FAllocRasterExcludeList . Что бы узнать точное имя задачи (Они РегистроЗависимы) вы должны запустить системный монитор, типа Scout. Нам не удалось найти слишком много плохих задачь, не совместимых с этим патчем.. Так же рекомендуется использоваться с ключем -loadseg, потому что эти патчи могут привести к некоторым проблеммам. Пользователи Exec V44.1 должны использоваться с опциями NOEXEC и NOINTS.

SysPatch: (не перепутайте с SystemPatch). Это кажется неплохим набором патчей, но на самом деле сожержит слишком много багов, что бы реально можно было советовать его использовать. Особенно патчи exec могут ывзвать серьезные проблеммы. Некоторые графические пачи кажутся достаточно стабильными, но кто знает..

CMQ: Небольшой патчь для exec.library. Используется только если вы не используете Exec V44.1


Taglife: Небольшой патч для 020 и utility.library . Ставить.

IconBeFast: Этот патч ускоряет иконки и работу с цветами. Используется для AGA и видеокарт. Последняя версия запутала некоторых пользователей: После того как вы измените фаил icon.library, все равно полезно оставить команду IconBeFast в стартовом скрипте, хотя это и не требуется обязательно.

Поставте "smart refresh" патч типа SmartWB. Это ускорит работу окон WorkBench, хотя и увеличит потребление памяти. Стоит заметить, что на ECS системах "smart refresh" патчи зачастую работают плохо и вызывают порчу бэкграунда.

NOTE: Не смотря на то, что многие утверждают что патч бесполезен пользователям с видеокартами, мы используем его с видеокартой BVision с последним обновлением C-GFX, и SmartWB заметно ускоряет скорость работы с окнами.

Можно заменить RAM диск на более быстрый. Например на Amber RAM, это не патч, а полная замена стандартного рамдиска, однако прочитайте внимательно документацию, он накладывает некоторые ограничения использования, так что возможно оно того не стоит.

Дисковые патчи

В первую очередь стоить отметить, что не стоит пользоваться файловой системой FFS.

Рекомендуется заменить ее на SFS, скачать можно, например, тут: http://strohmayer.org/sfs/ (Многие предпочитают версию 1.x, если вам не очень нужны нововведения, появившиеся с версии 2.x).

Также можно посоветовать купить PFS. В отличии от SFS, PFS больше не развивается, но вроде до сих пор она более шустрая.

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

Обратите внимание на команду AddBuffers, добавляющую буфера, для ускорения работы с диском. Но не перестарайтесь, чтобы не терять попусту память.

Разбираемся с фрагментацией памяти

Как вы знаете у AmigaOS есть проблеммы с фрагментацией памяти. Сейчас есть задумки как от нее избавится, но как правило работу с памятью оставляют на совести разработчиков программ.

Есть две помогающие нам утилиты:

Первая - PoolMem и требует установки FragCure после себя.

Вторая - использоваться недавно разработанный MemOptimizer и вобще не использовать FragCure. (В документации объясняется почему).

Лично мы предпочитаем MemOptimizer. Неизвестно, на столько ли он эфективен, как PoolMem, скорее всего нет, однако он 100% совместим с AmigaOS и не вызывает проблемм ни с камими другими программами.

Для обоих патчей - тщательно читайте документацию, там есть много тонкостей.

Так же помните, что сами по себе Exec44.1 и Amber Ram расчитанны на небольшое уменьшение фрагментации памяти.

WBAllocFast: Небольшой патч, заставляющий WorkBench использоваться Fast память всместо Chip для некотрых типичных задач. Смысл использования очевиден. Не очень похоже на честный патчь, но про тестировании не выявлено программ, с которыми бы он не был совместим. Устанавливается после PoolMem или MemOptimizer. (Есть заметки, что данный патч может конфликтовать с DOpus и AfA)

Особенности для процессоров 68040/68060

Необходимо установить последную библиотеку 680x0.library. (Или прошить flash последней прошивкой, если у вас BlizzardPPC)

Установите CyberPatcher (правда, он работает не на всех системах) или купите OxyPatcher, а так же установите математические библиотеки HSMathLibs. (Демоверсия этой библиотеки на аминете полнофункциональная, но надоедает назойливыми надписями)

Избегаем конфликтов с MCP

Заметки для пользователей патч-сета MCP, что бы избежать двойного патченья.

  • Пользователи Exec V44.1/CMQ: Отключите CopyMemQuick в MCP.
  • SystemPatch: отключите QuickDraw в MCP.

Так же неплохой идеей будет отключение QuickLayers в MCP, по скольку непонятно, чей патчь работает быстрее. Если быстрее MCP, вам надо наоборот добавить опцию NL в SystemPatch.

  • Отключите оба патча layers.library, если у вас установлена видеокарта.
  • WBAllocFast: Уберите "WorkBench" из листа "Memory patch"в MCP. Мы рекомендуем полностью отлючить его.
  • HSMathLibs: Выключите "PatchMath" в MCP. Патчь SetPatch уже делает необходимые вещи.

Патчи на аминете

Мы уже обращали внимание на глючный SysPatch. Другие ообенности:

  • muimaster020.lha: Это оптимизированная версия библиотеки muimaster.library с багами. Не используйте ее!
  • pplib020.lha: На нашей системе она не захотела работать. хотя может быть будет работать у вас.
  • patchi12.lha: Маленький патч, вызывающий множество проблемм с экранами.

Дополнительно

Патч PatchMult64 изменяет библиотеку utility.library. Версия с аминета может глючить, рекомендуется версия NewPatchMult64 от Piru http://www.iki.fi/sintonen/sw/

Послесловие

Все эти патчи могут заметно ускорить работу, однако бывает попадаются программы, которые виснут или падают, и сложно определить, виноваты в этом патчи или сама программа некачественно написана. По этому мы рекомендуем держать на отдельном маленьком разделе AmigaOS без установленных патчей, что бы проверять такие программы.