Большинство явлений, вызывающих микролаг в первый раз, мне удаётся прелоадить через пару секунд после загрузки карты или "изначально" успешно:
  • нестандартные эффекты - создавать и немедленно разрушать функцией DestroyEffect;
  • звуки - проигрывать и немедленно останавливать;
  • появление юнитов, которые раньше не создавались ни одного раза - создавать их на старте в центре карты и немедленно удалять;
  • нестандартные многоуровневые и/или дамми-способности - ставить изначально имеющимся на карте объектам.
Это всё ок.
Но было обнаружено, что есть ещё 2 создающих микролаги явления, хотя и относительно небольшие:
  • первичное выделение некоторых объектов;
  • первичное открытие некоторых спеллбуков (прелоад спеллбуков давно стоит у изначально имеющихся на карте объектов, не помогает, он убирал бы лаг при добавлении скрытых спеллбуков, но не при первом открытии вот таких активных; прелоад всех имеющихся в спеллбуках абил отдельно тоже есть, не помогает).
Прелоад иконок (для второго случая, иконки абил в спеллбуках нестандартные) не помог или практически не помог.
Была предпринята такая попытка: в основной прелоад (ну там где эффекты все подряд создаются-рушатся, нестандартные юниты появляются-удаляются и т. д.) запихнуть еще последовательное поочередное выделение всех объектов для игроков и открытие спеллбуков через хоткей.
Но ничего или практически ничего не изменилось. Подозреваю, что в этом случае мгновенное выделение и убирание игра просто "не засчитывает", и спеллбук через хоткей, не исключено, открыть "нормально" тоже не успевает.
Что делать? Пока идея - попробовать делать все выделения и открытия последовательно по одному объекту с промежутком в 0.XX секунды - оптимально выявлю при экспериментах...

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

ClotPh, а сама функция прелоада не рубится потоком при этом (возможно, прописано слишком много и оно требует разбития на отдельные потоки прелоада через ExecuteFunc)?
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
21
6 лет назад
0
Да, это не смертельно. Да, с этим можно жить и получать удовольствие. Но это не значит, что не стоит пытаться сделать лучше.
0
13
6 лет назад
0
ClotPh, а сама функция прелоада не рубится потоком при этом (возможно, прописано слишком много и оно требует разбития на отдельные потоки прелоада через ExecuteFunc)?
Принятый ответ
0
21
6 лет назад
0
Пушистый, нет, ниче там не рубится,
потому что там дальше ниже действия и они выполняются - это раз
конкретно в случае с рассматриваемой задачей проблема явно не в этом, потому что эти новые "прелоады выделением и хоткеями" мной в самом начале вставлены - это два
Как пользоваться ExecuteFunc, кстати, так и не понимаю, просто разбиваю на отдельные потоки в разных функциях инициализацию разных триггеров, но к сабжу это отношения не имеет
0
17
6 лет назад
Отредактирован N1ghtSiren
0
ClotPh:
Но было обнаружено, что есть ещё 2 создающих микролаги явления, хотя и относительно небольшие:
первичное выделение некоторых объектов;
Попробуйте использовать функцию Add to selection (или как-то так), скорее всего это прогружает иконки + места для них + отображение игроку
ClotPh,
первичное открытие некоторых спеллбуков (прелоад спеллбуков давно стоит у изначально имеющихся на карте объектов, не помогает, он убирал бы лаг при добавлении скрытых спеллбуков, но не при первом открытии вот таких активных; прелоад всех имеющихся в спеллбуках абил отдельно тоже есть, не помогает).
Попробуйте не через хоткей, а через его айди приказа / сам его айди
0
21
6 лет назад
0
  1. выше уже написано, что прелоад иконок есть и он НЕ помогает
  2. таверны - нейтральные, их нельзя выделять сразу по несколько
  3. подскажите плз id приказа дефолтного спеллбука тогда, в цифрах
0
20
6 лет назад
0
ты хоть проект по карте запили
0
21
6 лет назад
0
ssbbssc, есть ресурс, там обновления выкладываю
пока я хочу как минимум больше средств вкладывать и/или надежных помощников иметь
а вообще игра для себя в первую очередь делается все равно
бтв вот буквально в теч-е часа там ссылку на 1.63 версию "игры" (не путать с версиями "карты"), вероятно, выложу
0
28
6 лет назад
0
Я так понимаю, что в спелбуке много спелов? Я просто добавлял спелбук юниту во время прелоада, этого хватало. Также может сработать добавление всех способностей из спелбука юниту во время прелоада
0
21
6 лет назад
0
PT153, да, много
как видишь, не хватает, спеллбуки изначально у объектов стоят и ничего
все способности опять же и отдельно изначально у юнитов на карте стоят и ничего
возможно, важно - сами по себе способности спеллбуков у предметов (но по идее должны открываться у юнитов, не вижу, почему бы нет, хоткей им в РО добавлен)
Чтобы оставить комментарий, пожалуйста, войдите на сайт.