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

ClotPh, а сама функция прелоада не рубится потоком при этом (возможно, прописано слишком много и оно требует разбития на отдельные потоки прелоада через ExecuteFunc)?
`
ОЖИДАНИЕ РЕКЛАМЫ...

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