Полная Версия: Секреты борьбы с торможением в минимальной конфигурации
Cheb
[сообщение скопировано из раздела о системных требованиях]
...У меня 128 метров памяти и Windows98 SE, и игра СТРАШНО тормозила из-за своппинга - я боялся в городах голову повернуть, чтобы не получить паузу секунд этак на тридцать...

А когда я подошёл к городу Кальдере, у меня через каждые 50 метров начались такие замирания, что я успевал сходить чай вскипятить и выпить, возвращался - а игра всё стояла, и индикатор жёсткого диска всё горел...

НО Я НАШЁЛ СПОСОБ, И ТЕПЕРЬ ИГРА У МЕНЯ ПРОСТО ЛЕТАЕТ!
(хотя, наверно, те, кто привык играть на 256 метрах памяти, сказали бы что она страшно тормозит... ;) )

Никаких "антирекламных пауз", даже при бегании по Кальдере картинка хоть и рывками, но продолжает двигаться (при беге через Бальмору, правда, была парочка пауз... но ведь и город какой здоровый!..) По крайней мере, головой я теперь верчу без опаски даже в больших городах. И вообще все действия ускорились, не надо теперь по нескольку секунд ждать, пока инвентарь откроется, когда из краба мясо вытаскиваешь, а потом опять ждать, пока инвентарь закроется - всё происходит почти мгновенно! И "Loading Exterior" стали выполняться не за минуту, а всего секунд за пятнадцать...

Хотите сделать так же?.. Спросите меня - как!

[Теоретическое обоснование]:
1. Виндовс - дура, и у неё маниакальное стремление оставить в файловом кэше (то есть, в памяти) все данные, которые программы читали из файлов.
2. Морровинд много читает из файлов, и Винда спихивает в файл подкачки уйму нужных данных, освобождая место для файлового кэша, и всё время тупо дублируя ресурсы в памяти (ведь всё, что игра прочитала с диска, она всё равно прочитала в память, и будет использовать!)
3. По некоторым объективным причинам, средняя скорость своппинга виртуальной памяти многократно меньше средней скорости чтения файлов с диска
4. Отсюда, на 128 мегабайтах памяти Морровинд чудовищно тормозит при перемещении по местности - хотя этого можно было избежать

[МЕТОД РЕШЕНИЯ]:
1. Текстовым редактором открываем файл C:WindowsSystem.ini
2. Ищем в нём раздел [vcache]
3. Ищем в этом разделе строчку MaxFileCache. Если таковой нету - добавляем вручную
4. Меняем этот параметр на MaxFileCache=8000 ,ограничивая объм памяти, отводимой Форточками для файлового кэша, примерно 8 мегабайтами - система будет грузиться медленнее, замедлится запуск программ и, возможно, возникнут проблемы с работой в офисных приложениях. Но нам ведь не это надо?..
5. Перезагружаемся
6. Играем в Morrowind, и радуемся резко уменьшившимся тормозам.
7. Не забываем вернуть файл System.ini в первобытное состояние и перезагрузить систему.

Вот. Если кто найдёт, что этот способ - неправильный, ругайте меня, но мне оно помогло невероятно, и я просто на седьмом небе от счастья!
Cheb
...Но гораздо более эффективный способ - просто сохраниться и перезапустить игру. На какое-то время тормоза почти полностью исчезают. А потом опять.
Voron
Ну, это уже извр...издевательство над собой ;) Особенно, если учитывать, сколько времени занимает перезапуск игры при забитом до отказа кеше ;) Хотя, мне приходилось делать именно так - поиграл часа полтора, и жми [reset] (потому как на остальные телодвижения комп уже не реагирует)
Cheb
Так, ещё идея: при тщательном окучивании файла morrowind.ini, в нём обнаруживаются строчки:
Interior Cell Buffer=10
Exterior Cell Buffer=32
Я опытным путём уменьшил их до 2 и 5 соответственно, и, вроде-бы, ситуация улучшилась - я прошёл почти половину диаметра острова, но торможение не возрастало. Чаще стали появляться "Loading exterior" (практически при каждом переходе с клетки на клетку вблизи от городов), но они, в целом, тоже стали короче.

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

До конца я не уверен в результатах: оценка торможения - материя тонкая и субъективная, и, может, я выдаю желаемое за действительное...

Так что, давайте совместными усилиями подбирать оптимальные значения!
Cheb
...И ещё дефрагментация диска с оптимизацией файла подкачки тоже помогает.
Я делал так: запрещал виртуальную память (своп-файл при этом удаляется), перезагружался, дефрагментировал диск в режиме "дефрагментировать свободное место", устанавливал постоянный размер своп-файла, и снова перезагружался.
2rbo
Voron

26 августа 2002 12:45:
цитата:

...далее я поковырял экзешник (вскрыл Hex-эдитором и заменил пару строчек, заставил игру работать в 16 цветах).



как там найти нужные строки? Все-таки 3,7 метров, глазки устанут искать... :(

ЗЫ Для меня 32 бит смертельно - у меня GF2 MX200
Ваш ответ: