Добавлен ClotPh
Большинство явлений, вызывающих микролаг в первый раз, мне удаётся прелоадить через пару секунд после загрузки карты или "изначально" успешно:
- нестандартные эффекты - создавать и немедленно разрушать функцией DestroyEffect;
- звуки - проигрывать и немедленно останавливать;
- появление юнитов, которые раньше не создавались ни одного раза - создавать их на старте в центре карты и немедленно удалять;
- нестандартные многоуровневые и/или дамми-способности - ставить изначально имеющимся на карте объектам.
Это всё ок.
Но было обнаружено, что есть ещё 2 создающих микролаги явления, хотя и относительно небольшие:
- первичное выделение некоторых объектов;
- первичное открытие некоторых спеллбуков (прелоад спеллбуков давно стоит у изначально имеющихся на карте объектов, не помогает, он убирал бы лаг при добавлении скрытых спеллбуков, но не при первом открытии вот таких активных; прелоад всех имеющихся в спеллбуках абил отдельно тоже есть, не помогает).
Прелоад иконок (для второго случая, иконки абил в спеллбуках нестандартные) не помог или практически не помог.
Была предпринята такая попытка: в основной прелоад (ну там где эффекты все подряд создаются-рушатся, нестандартные юниты появляются-удаляются и т. д.) запихнуть еще последовательное поочередное выделение всех объектов для игроков и открытие спеллбуков через хоткей.
Но ничего или практически ничего не изменилось. Подозреваю, что в этом случае мгновенное выделение и убирание игра просто "не засчитывает", и спеллбук через хоткей, не исключено, открыть "нормально" тоже не успевает.
Но ничего или практически ничего не изменилось. Подозреваю, что в этом случае мгновенное выделение и убирание игра просто "не засчитывает", и спеллбук через хоткей, не исключено, открыть "нормально" тоже не успевает.
Что делать? Пока идея - попробовать делать все выделения и открытия последовательно по одному объекту с промежутком в 0.XX секунды - оптимально выявлю при экспериментах...
Принятый ответ
ClotPh, а сама функция прелоада не рубится потоком при этом (возможно, прописано слишком много и оно требует разбития на отдельные потоки прелоада через ExecuteFunc)?
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
потому что там дальше ниже действия и они выполняются - это раз
конкретно в случае с рассматриваемой задачей проблема явно не в этом, потому что эти новые "прелоады выделением и хоткеями" мной в самом начале вставлены - это два
Как пользоваться ExecuteFunc, кстати, так и не понимаю, просто разбиваю на отдельные потоки в разных функциях инициализацию разных триггеров, но к сабжу это отношения не имеет
Отредактирован N1ghtSiren
пока я хочу как минимум больше средств вкладывать и/или надежных помощников иметь
а вообще игра для себя в первую очередь делается все равно
бтв вот буквально в теч-е часа там ссылку на 1.63 версию "игры" (не путать с версиями "карты"), вероятно, выложу