XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
4go10_frank

offline
Опыт: 2,089
Активность:
Утечечки
Вот допустим у меня есть один мощный триггер с периодом 0.02 (сильно измененный Moving System ViRus'а), пара простеньких триггеров с периодом 0.25-0.5 сек. и 3-4 с периодом 1-5 секунд. Ну так вот, мне уже можно вешаца или пока рано? У меня средненький комп и ниче не тормозит (или может я сам себя обманываю Оо) но у вас на форуме пишут что три-чатыре триггера с периодом 1 сек и усё, карта убита. (если учесть что память обязуюсь подчищать и не засорять)

4go10_frank добавил:
Цитата:
с событием События: Время - Every 1.00 seconds of game time


штуки 4-8 таких триггеров в карте - и она начинает очень сильно лагать...


пока для меня эта фраза от Sasha самая стремная на форуме
Старый 01.07.2008, 13:31
S

offline
Опыт: 43,833
Активность:
=O 1.0 - хватит 6-10 штук, а вот с периодами <1.00 - хватит и 3-5... желательно перед такими экспериментами делать триггер, что при нажатии эскейпа варкрафт сразу кикнет (дабы не ждать 15 минут пока игра выйдет в виндовс или пытаться нажать кнопку "выход")
Старый 01.07.2008, 13:41
4go10_frank

offline
Опыт: 2,089
Активность:
Цитата:
желательно перед такими экспериментами делать триггер, что при нажатии эскейпа варкрафт сразу кикнет (дабы не ждать 15 минут пока игра выйдет в виндовс или пытаться нажать кнопку "выход")

теперь эта фраза - самая стрёмная =)
кстати нащёт ждать 15 минут - до выхода после 30-40 минут игры я дотянулся спокойно (лагов - неть опсолютно) зато сам ар вылезал секунд 5-6 (для сравнения из доты выходит за 1-2 сек если по хорошему или за 0.5-0.6 если из-за ошибки))))

это из за бол-во кол-ва созданных переменных?если нет то што?
Старый 01.07.2008, 13:48
S

offline
Опыт: 43,833
Активность:
Цитата:
зато сам ар вылезал секунд 5-6

угу, кстати может и не лагать (или совсем чуть-чуть, если комп достаточно мощный), просто при выходе игра может повиснуть минут на 10-35 (как с картой Escape Maker), так что лучше сначала тестить.
Старый 01.07.2008, 13:50
alexkill

offline
Опыт: 18,872
Активность:
Цитата:
Сообщение от 4go10_frank
три-четыре триггера с периодом 1 сек и усё, карта убита. (если учесть что память обязуюсь подчищать и не засорять)


Ничего подобного.

Но лучше скинь карту... Мало ли какие действия у тебя в триггерах запихнуты, и как эффективно ты чистишь память.

Отредактировано alexkill, 01.07.2008 в 13:58.
Старый 01.07.2008, 13:52
4go10_frank

offline
Опыт: 2,089
Активность:
ну просто у мну Мовинг Систем налево и направо юзаеца, он много переменных создает. Но я посмарел - всё обнуляеца. Так всё таки из-за чего это?
Старый 01.07.2008, 13:53
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
4go10_frank, лагают скорее не сами периодические триггеры, а какие-то действия в них или неубранные утечки.
Все зависит от того, какие действия ты производишь в этих триггерах. Если двигаешь 100 шаров по сферической поверхности с учетом ускорения свободного падения, то конечно будет подлагивать-лагать. В данном же случае переживать особо не стоит, имхо.
Хотя правильнее и лучше для больших групп периодических действий делать по таймеру.

ShadoW DaemoN добавил:
Название темы жжот ^^
Старый 01.07.2008, 13:53
4go10_frank

offline
Опыт: 2,089
Активность:
alexkill, чистить обязуюсь но пока этого не делаю =) и все равно не тормозит после 30 минут

4go10_frank добавил:
Цитата:
Если двигаешь 100 шаров по сферической поверхности с учетом ускорения свободного падения, то конечно будет подлагивать-лагать.


ShadoW DaemoN, у меня похуже - 3 действия пикать юнитов в ранже 75 с условиями и пара проверок на наличие >0 юнитов поблизости опять же с условиями =) нет у меня комп не американская секретная наноразработка но и не ПЕНТИУМ 2))
Старый 01.07.2008, 14:00
alexkill

offline
Опыт: 18,872
Активность:
Цитата:
Сообщение от 4go10_frank
ShadoW DaemoN, у меня похуже - 3 действия пикать юнитов в ранже 75 с условиями и пара проверок на наличие >0 юнитов поблизости опять же с условиями =) нет у меня комп не американская секретная наноразработка но и не ПЕНТИУМ 2))


Норм. Шар двигать сложнее. Согласен с ShadoW DaemoN: таймеры - самый оптимальный вариант!
Старый 01.07.2008, 14:19
J
expert
offline
Опыт: 48,447
Активность:
Создай триггер check засунь туда это
Код:
function Trig_check_Actions takes nothing returns nothing
    local timer Timer = CreateTimer ()
    call DisplayTextToPlayer(GetLocalPlayer(), 0, 0, I2S(H2I(Timer)))
    call DestroyTimer (Timer)
    set Timer = null
endfunction

function InitTrig_check takes nothing returns nothing
    local trigger trig = CreateTrigger(  )
    call TriggerRegisterTimerEvent( trig, 0.1, true                   )
    call TriggerAddAction         ( trig, function Trig_check_Actions )
    set trig = null
endfunction
и скажи на сколько поднимается число от начало до конца игры
Старый 01.07.2008, 17:07
4go10_frank

offline
Опыт: 2,089
Активность:
Цитата:
I2S(H2I(Timer))

ничего не путаеш? у мня не понимает H2I (это Handle To Integer, да?)
Старый 01.07.2008, 18:06
S

offline
Опыт: 43,833
Активность:
создай в CustomScript функцию
Код:
function H2I takes handle h returns integer
return h
return 0
endfunction
Старый 01.07.2008, 18:11
4go10_frank

offline
Опыт: 2,089
Активность:
Sasha, спс теперь я понял для чего нужен Return Bug =)
Jon, на старте - 1050000, на финише 1430000...
причем если юнит стоит на месте то эт число растет ОЧЕНЬ медленно (ибо даже при приказе двигаца у мну врубаеца МовингСистем, для эффекта скольжения)
вопщем, привет оптимизация =( кста кто нить сможет позже , когда закончу делать карту, быренько просмореть код, и где можно - упростить/оптимизировать? Обещаю благодарность на лоадскрине :)
Старый 01.07.2008, 18:35
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
4go10_frank, сколько строк в коде?
Старый 01.07.2008, 18:41
4go10_frank

offline
Опыт: 2,089
Активность:
Hellfim, код в основном "гуи + кастом скрипт", еще в кастом скрипте наделаю функций для удаления плавающего текста/юнитов/точек. Пока в этом весь код.
Старый 01.07.2008, 18:58
J
expert
offline
Опыт: 48,447
Активность:
4go10_frank ну это многовато... короче тебе нужно уменьшить число на выходи, оптимизируй упрощай сам, чем будет меньше тем лучше
Старый 01.07.2008, 18:59
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
4go10_frank, сделай любую ошибку в коде, но не фатальную, чтоб из ВЕ не выкинуло. Нажми на последнюю строчку в коде, в левом нижнем углу будет написано

Hellfim добавил:
о кстати, че хоть за карта?
Старый 01.07.2008, 19:01
SliShad
†WOW Style†
offline
Опыт: 2,581
Активность:
если в одиночке утечек нет(в моём понимании лагов)
то в мультиплеере тож не будет??
Старый 01.07.2008, 19:02
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
SliShad, лаги быть могут, а утечек нет
Старый 01.07.2008, 19:03
4go10_frank

offline
Опыт: 2,089
Активность:
Jon, сделаю всё возможное)
Hellfim, 557 строк. Карта - Snowball Fight, поднимаеш всякие бонусы и кидаеш во врагов/применяешь на себя. Если попал во врага он начинает скользить и если падает с арены то дохнет.
Сама карта крошечная (по размеру арена - круглый браш на 8 ед.), весит 60 кб (пока без импорта), но куча приятных мелочей. (могу выложить, зацениш)

кста, вопрос SliShadа мне кое чо напомнил, если в карте меня побеждает комп (хехе, я ему интеллект не писал но всё же) то ему очки не начисляюца, если я - то всё норм. Проверил каждый триг, ответственный за мультиборд - нет ошибок. У кого нить было нечто подобное?
Старый 01.07.2008, 19:18
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 11:36.