Добавлен
Если таймер не периодический, его все равно нужно уничтожать по истечении? Или он делает это сам?

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

avuremybe, не обращай на него внимание
он сам не понимает что пишет
avuremybe, можешь впихнуть в карту счётчик утечек и проверить
или создать 100500 таймеров и посмотреть как изменился объём затраченной оперативы
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
6 лет назад
0
Похожие вопросы:

ответ
Происходящее здесь напомнило мне один случай из моего далекого прошлого. В те времена я еще только начинал осваивать редактор. Одна из тем, которая меня заинтересовала и по которой мне не удалось найти достаточно полной информации - утечки. Тогда я пошел на один форум и задал простой вопрос о том, как определить наличие и степень серьезности утечек в карте, не перебирая весь код. В результате я получил тонну флуда и "ответ от профи", с которым все в итоге согласились - фрагмент кода с ценным указанием "если это число растет быстро - утечек много, если медленно - мало или нет вовсе". Код представлял из себя таймер с малым периодом, который создавал объект, брал его хендл, писал в чат и удалял объект, но был один нюанс - создаваемый объект утекал на каждой итерации таймера.
ответ
Kirill_Wolkov, ну ты редкостный растыка....
Что я вижу в его карте - плоская пустая карта с натыканными рудниками и войсками, что к чему и триггеры на гуях, скопированные откуда то, дальше самое интересное - у чувака расширенное гуи, событие триггера Таймер Истекает( CreateTimer() ) условие нет, дейтсвие создать костяной завод нежити в такой то точки, и таких триггеров с десяток для каждого здания.
Нет рили, это уже зашквар - учить гуишников че им делать, неужели так сложно почитать статьи и подумать?
Чтобы таймер истек его нужно не только создать но еще и запустить, не надо делать 1000 триггеров, можно создать всех юнитов в одном, потом нужно создать переменную типа - таймер, потому что гуи, тут динамического создания триггеров\таймеров нет для вас, забудьте про все рус. и расширенные гуи, на нормальном как делали близзарды научитесь делать мили карты...
Простите, но у меня бомбит...
Потом блин ну вы хоть одну карту из кампании смотрели? кто спауни здания то? Создают изначально всю базу на карте, потом если нужно чтобы она появилась в процессе игры её скрывают и паузят.
Ужас.
ответ
  1. Не используй GUI таймеры
  2. Перед тем как запустить таймер нужно его создать
set udg_BuferTimer[2] = CreateTimer()
  1. Не забывай удалять таймеры
ответ
дык вы периодический таймер делайте, и каждые N секунд меняйте текст, пока не истечет время.
о том что время должно быть в переменной я надеюсь вы знаете
ответ
~8gabriel8:
Пока нет желания разбираться, что у тебя так, а что не так. Но вижу, что переменная Window не назначена окну, а ещё как бы создаются в цикле одновременно 10 окон, которые потом все одновременно ждут 50 секунд. Вот скрин действий триггера вместо двух твоих, секунда ожидания поставлена для того, чтобы увидеть пропадание окна таймера.

2
17
6 лет назад
2
Нужно удалять вручную. И отсчет времени до удаления,через - ждать.
4
13
6 лет назад
4
Absolute, не обязательно через ждать. Можно в функции, в которой вызывается таймер сделать так DestroyTimer(GetExpiredTimer()).
0
16
6 лет назад
0
отсчет времени до удаления,через - ждать.
бред.
0
17
6 лет назад
0
avuremybe:
отсчет времени до удаления,через - ждать.
бред.
Тем не менее, функцию удаления нужно создавать вручную, иначе окно так и останется висеть.
2
16
6 лет назад
2
Absolute, какое окно? оО
6
28
6 лет назад
6
avuremybe, не обращай на него внимание
он сам не понимает что пишет
avuremybe, можешь впихнуть в карту счётчик утечек и проверить
или создать 100500 таймеров и посмотреть как изменился объём затраченной оперативы
Принятый ответ
0
17
6 лет назад
0
avuremybe:
Absolute, какое окно? оО
Окно таймера, если ты об этом.
0
16
6 лет назад
Отредактирован avuremybe
0
Absolute:
avuremybe:
Absolute, какое окно? оО
Окно таймера, если ты об этом.
У таймеров нет окна.
nvc123:
avuremybe, можешь впихнуть в карту счётчик утечек и проверить
или создать 100500 таймеров и посмотреть как изменился объём затраченной оперативы
Хорошая мысль! Вечером протестирую.
2
17
6 лет назад
2
avuremybe:
Absolute:
avuremybe:
Absolute, какое окно? оО
Окно таймера, если ты об этом.
У таймеров нет окна.
nvc123:
avuremybe, можешь впихнуть в карту счётчик утечек и проверить
или создать 100500 таймеров и посмотреть как изменился объём затраченной оперативы
Хорошая мысль! Вечером протестирую.
Там выше есть функция "запустить таймер" однократный или многократный. Думаю это бы и ответило на все твои вопросы. Да и вообще проверить такой триггер можно меньше чем за минуту, а ты судя по всему обладаешь опытом пользования редактором. Не за чем задавать такие простые вопросы.
Загруженные файлы
6
28
6 лет назад
Отредактирован PT153
6
Absolute:
У самого таймера нет окна, окно таймера и сам таймер разные объекты.

По поводу вопроса. Да, любой таймер надо уничтожать (если это нужно) по истечению его действия. А можно создать 1 таймер и постоянно его перезапускать.
2
17
6 лет назад
2
PT153:
Absolute:
У самого таймера нет окна, окно таймера и сам таймер разные объекты.

По поводу вопроса. Да, любой таймер надо уничтожать (если это нужно) по истечению его действия. А можно создать 1 таймер и постоянно его перезапускать.
Да да, стакан с водой и вода разные вещи. Великая мудрость...
4
16
6 лет назад
4
Absolute, я не специалист в ГУИ, но полагаю что функция с Вашего скрина создает лидерборд, и выводит на него отсчет?
К сабжу это не имеет никакого отношения, поэтому заканчивайте флудить в моем тикете.
2
17
6 лет назад
2
avuremybe:
Absolute, я не специалист в ГУИ, но полагаю что функция с Вашего скрина создает лидерборд, и выводит на него отсчет?
К сабжу это не имеет никакого отношения, поэтому заканчивайте флудить в моем тикете.
Нет, она создает таймер, который через 1 секунду истекает и выводит сообщение clear.
6
28
6 лет назад
Отредактирован nvc123
6
Absolute, функция на твоём скрине это бж которая создаёт timerdialog для указанного таймера
сам по себе таймер не имеет никакого окна и вообще эти окна нафиг не нужны в большинстве случаев
т.к. главные задачи таймера это двигать объекты и переносить выполнение кода в другой поток
вопрос же был про объект timer который создаётся через TimerStart
и про то происходит ли очищение одноразового таймера из памяти после его использования
и я тебе уже вроде бы говорил чтобы ты не нёс всякую фигню в темах в которых ничего не понимаешь
2
17
6 лет назад
2
nvc123:
Absolute, функция на твоём скрине это бж которая создаёт timerdialog для указанного таймера
сам по себе таймер не имеет никакого окна и вообще эти окна нафиг не нужны в большинстве случаев
т.к. главные задачи таймера это двигать объекты и переносить выполнение кода в другой поток
вопрос же был про объект timer который создаётся через TimerStart
и про то происходит ли очищение одноразового таймера из памяти после его использования
и я тебе уже вроде бы говорил чтобы ты не нёс всякую фигню в темах в которых ничего не понимаешь
Насколько я понял, вопрос был в том нужно ли вручную отключать таймер или он отключается сам. В скрине ниже показано, что если выставить таймер "однократно", то он исчезает сам: если "многократно", то не исчезает, а повторяется по истечению. Если же речь идет о каком-то мистическом таймере, который не имеет отношение к описанному, то нужно было конкретнее задавать вопрос.
5
28
6 лет назад
Отредактирован nvc123
5
Если таймер не периодический, его все равно нужно уничтожать по истечении
Absolute, спрашивается необходимо ли уничтожать однократный таймер или нет
про отключение речь вообще не шла
если что, то объекты уничтожают дабы избежать утечки памяти
0
16
6 лет назад
Отредактирован avuremybe
0
Если же речь идет о каком-то мистическом таймере, который не имеет отношение к описанному, то нужно было конкретнее задавать вопрос.
Мистическая тут только BJ-дичь с какими-то окнами, которую Вы сюда на своих скринах завезли.
В заголовке и самом вопросе четко указано - ТАЙМЕРЫ.
К сабжу это не имеет никакого отношения, поэтому заканчивайте флудить в моем тикете.
я тебе уже вроде бы говорил чтобы ты не нёс всякую фигню в темах в которых ничего не понимаешь
Сколько еще людей должно намекнуть Вам, что Ваш флуд никому не интересен?
0
28
6 лет назад
0
avuremybe, кстати, если проверил то напиши тут результаты теста
0
16
6 лет назад
0
nvc123, тест показал, что счетчик хэндлов из этой статьи xgm.guru/p/wc3/triggers-and-jass-optimization не работает.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.