Привет, знатоки и доброжелатели, нужна помощь. В прикреплённой тестовой карте при первом за игру нажатии кнопки F9 (открыть меню заданий) происходит очень большой лаг. С этой проблемой уже обращались здесь и здесь.
Из ответов следует, что при этом идёт первичная загрузка в оперативную память ресурсов карты, которой можно управлять с помощью функций Preload(). В тестовой карте, специально в пустую карту был загружен относительно массивный файл с текстами - war3map.wts. Собственно, величина лага пропорциональна весу этого файла.
В функции инициализации карты были добавлены следующие строчки:
call Preload("war3map.wts")
call PreloadEnd( 10.0 )
Но это не устраняет лаг. Что ещё можно сделать? Версия Warcraft 1.26.
P.S. Опасность лага в том, что в сетевой игре он может вызвать длительное Ожидания игрока, и тем самым, последующий дисконект.

Принятый ответ

Прогнал карту через Wc3 Map Optimizer 5.0 Rus, лаг уходит. Похоже, проблема решилась.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
17
3 года назад
Отредактирован ledoed
0
а поочередно мелкими порциями?
0
22
3 года назад
0
ledoed:
а поочередно мелкими порциями?
Тут нечего разбивать, кроме самого текстового файла. Но он стандартный war3map.wts .
1
6
3 года назад
1
мб dracolich знает? В доте вроде такого нет
3
22
3 года назад
3
Прогнал карту через Wc3 Map Optimizer 5.0 Rus, лаг уходит. Похоже, проблема решилась.
Загруженные файлы
Принятый ответ
0
32
3 года назад
0
Просто подгрузить иконки и строки, и лага не будет.
0
22
3 года назад
0
quq_CCCP:
Просто подгрузить иконки и строки, и лага не будет.
В примере иконка всего одна. Их число не влияет на лаг. Строки подгружал сразу весь файл. Не помогало. Имеется ввиду, заранее сделать вызов всех строк?
0
32
3 года назад
0
makkad, у прелоаде есть функция создания автоматического создания pld скриптов, в статье про preload автор там мусор ловит, да к вот нужно таким же кодом посмотреть что грузит игра в момент открытия меню и загрузить эти данные при запуске карты.
0
22
3 года назад
Отредактирован makkad
0
quq_CCCP:
makkad, у прелоаде есть функция создания автоматического создания pld скриптов, в статье про preload автор там мусор ловит, да к вот нужно таким же кодом посмотреть что грузит игра в момент открытия меню и загрузить эти данные при запуске карты.
Понятно, спасибо. Но по идее должно быть всё стандартно. В тестовой карте ничего нет почти, кроме текстового файла. Всякие иконки и интерфейсы тоже пробовал добавлять в Preload.
0
32
3 года назад
0
makkad, ты удивишся сколько всего грузится, звуки открытия, кнопки, текстура интерфейса, у абилок грузятся все описания, даже если ты их не видишь, хоткеи, хренокеи и все подряд. Посмотрев подробно что грузит игра у тебя будет возможность загрузить это заранее, до игры, чтобы игроки лага не почуяли а карта грузилась чуть дольше.
0
22
3 года назад
Отредактирован makkad
0
quq_CCCP:
makkad, ты удивишся сколько всего грузится, звуки открытия, кнопки, текстура интерфейса, у абилок грузятся все описания, даже если ты их не видишь, хоткеи, хренокеи и все подряд. Посмотрев подробно что грузит игра у тебя будет возможность загрузить это заранее, до игры, чтобы игроки лага не почуяли а карта грузилась чуть дольше.
Да. Это я знаю. Но проведя эксперемент, убедился, что лаг в этом конкретном случае вызвает только файл со строками. Чем больше файл - тем больше лаг. От остального он не зависит.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.