Запустил в новом редакторе карту, все работает, вроде даже загрузилась чуть быстрее, правда, там лагают пикчи послушников, иии... Анимация огня убойная, ну в принципе вопрос не за то, спецэффекты и сами там можете посмотреть.
Я запустил эту карту, тестил ее, ничего не предвещало беды, как юзнул я скилл, работающий как скиллшот, и тут все залагало, просто как жесть, невозможно не то что играть, даже выключить игру.
Я чекнул, все вроде на месте, если попасть этим скилшотом, то все хорошо, как только промахиваешься, все, игра лагает.
Вопрос, какого хрена?
P.S. скилл на 1.27b работал замечательно

затраты на ИНИЦИАЛИЗАЦИЮ локалки (байт-код это требует, но это проформа) - ничтожны, по любым меркам. А создание группы в цикле что в локалке, что в глобалке - это маразм
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
9
Вроде как Варкрафт к 1.31 стал более щепителен к утечкам из-за того что стал поддерживать 64 разряда. То есть, кол-во байтов, которое может утечь, увеличено в два раза.
10
Еще вот что нашел, если ты попал по юниту, то все хорошо, если нет, то лагает, с каждым прожатием, все сильнее лагает, до этого, когда все залагало в первый раз, я юзнул способность только 1жды. И все зависло. Чем медленнее летит снаряд, тем больше нужно раз выстрелить чтоб залагало, отключил jass helper, все стало вроде нормально, включил обратно, включил оптимизатор и еще что то там, сначала было круто, но после 50-60 выстрела, было невозможно даже исправить все это. А да точно. Если ты попадал в цель во время лагов, до все проходило, но при повторном промахе, все опять лагало, только чуть хуже.
Tovio 8gabriel8: quq_CCCP:
26
Taurenus, ещё раз повторю. Делай проверку проходимости и ищи про удаление точек и групп. Когда москиты не попадают в цель, то летят за край карты. Если в 1.27 всё нормально, а в 1.31 нет, значит там иначе обрабатывается вылет за карту и точки с группами, а они у тебя каждые 0.01 секунды создаются.
10
8gabriel8:
Taurenus, ещё раз повторю. Делай проверку проходимости и ищи про удаление точек и групп. Когда москиты не попадают в цель, то летят за край карты. Если в 1.27 всё нормально, а в 1.31 нет, значит там иначе обрабатывается вылет за карту и точки с группами, а они у тебя каждые 0.01 секунды создаются.
Я кароче нашел траблу, я меня в карты, стоит, что каждый 7 умерший юнит - враг желтого игрока, идет в +1 к спавну новых желтых юнитов.
Кароче вся карта в желтых волках, все убрал их в исключение, вроде норм.
Но вот то, почему при попадании лаги исчезали, а при промахе хуже становилось. Учитывая что вся проблема в этом, короче очень странно.
28
В 1.31 кол-во операций до обрубания больше.
21
Короче не приводит способность в действие,а начинает направлять способность. Когда уже применяет позиция куда ты указал уже потеряна.Еще лучше создай и обнули точку,в которой собрался что то там сделать ,а еще лучше ипользуй координаты х y.Варкрафт туповатый и медленный,он многое просто Не успевает ,отсюда и лаги.
Второе .Pick every unit - это самая утечная утечка на свете.Создай группу пикнутых тобой юнитов и добавь в группу их,а потом удалишь эту переменную и группу
Третье.Пришел час использовать локалки,раз ты безумный триггерщик, просто потому,что запись в локалку происходит мгновенно,и можно перезаписывать хоть миллионы раз.Только не забудь потом обнулить локалку в конце функции,иначе потекет,как у моей бышей
28
У тебя каждые 0.01 утекают локации и группы. Утечку группы можно убрать, поставив перед вызовом set bj_wantDestroy = true, для локаций нужно создать переменную и её постоянно чистить. Поставь период на 1. / 64. И зачем ты постоянно стартуешь периодический таймер, а внутри триггера его паузишь?

Ну и самое главное. Если вокруг пули в радиусе 80 есть N юнитов, то пуля нанесёт урон каждому в радиусе 150 N раз и будет создано N новых пуль.
30
то запись в локалку происходит мгновенно
Запись в локалку ничем не отличается от записи в глобалку.

Чисто технически в глобалку писать ещё быстрее ибо не нужно выделять место для локалки.
21
NazarPunk:
то запись в локалку происходит мгновенно
Запись в локалку ничем не отличается от записи в глобалку.

Чисто технически в глобалку писать ещё быстрее ибо не нужно выделять место для локалки.
Отличается.Во первых обращение в локалку быстрее.Я уже писал,что при написании из триггера глобалки просто могут не успеть,они и так не успевают.
30
Во первых обращение в локалку быстрее
Почему?
SсRealm:
что при написании из триггера глобалки просто могут не успеть
Тесты в студию.
32
Я бы не сказал что быстрее, мб поиск переменной будет быстрее, ибо пока он там найдет глобалку в самом начале, локалка же обьявляется вначале функции, аргументы функций чисто технически такие же локалки. Про не поспевание какой то несуразный бред, прошу разьеснить - а как это так?.
На объявления локалок требуется время, и память точно так же выделяется.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.