Пару вопросов по поводу утечек
|
|
FatalBlade | Дата: Четверг, 07 Июля 2011, 21:03:48 | Сообщение # 1 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| 1) - Где то на форуме я читал, что в картах типа Доты, после каждой волны юнитов, когда они умирают, нужно делать Remove Unit, т.е. удалять утечки переменных типа юнитов. Правда ли это? И если да, то что именно удалять, юнитов или группу юнитов?
2) - Когда очередная волна юнитов появляется в указанном в ВЕ регионе, нужно ли каждый раз удалять регион а потом заново создавать, или можно пользоваться одним и тем же?
|
|
|
|
lawson | Дата: Четверг, 07 Июля 2011, 21:07:03 | Сообщение # 2 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| 2) Если регион глобальная переменная то нет удалять не надо(можно просто обнулить), а если это локальная переменная то надо ее удалять и обнулять. 1) Чушь впервые слышу. call RemoveUnit() отвечает за удаление юнита а не группы юнитов.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
Сообщение отредактировал lawson - Четверг, 07 Июля 2011, 21:17:27 |
|
|
|
FatalBlade | Дата: Четверг, 07 Июля 2011, 21:56:17 | Сообщение # 3 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Quote (lawson) 1) Чушь впервые слышу. call RemoveUnit() отвечает за удаление юнита а не группы юнитов. Ты не понял вопрос. Надо ли удалять юнитов после того как они умирают. И если надо, то нужно ли вдобавок удалять ещё и группу юнитов?
Quote (lawson) 2) Если регион глобальная переменная то нет удалять не надо(можно просто обнулить), а если это локальная переменная то надо ее удалять и обнулять. Ну если регион создан в самом Редакторе, то это насколько я понимаю глобальная переменная. И как её обнулять?
|
|
|
|
Deadly-man | Дата: Четверг, 07 Июля 2011, 22:00:10 | Сообщение # 4 |
7 уровень
Группа: Заблокированные
Сообщений: 279
Награды: 0
Репутация: 26
Блокировки:
| FatalBlade, Quote (FatalBlade) Надо ли удалять юнитов после того как они умирают. нет, это делает сама игра. А то даже стандарт вис бы как хз что. Quote (FatalBlade) И если надо, то нужно ли вдобавок удалять ещё и группу юнитов? нужно.
Я ПОРВАЛ ФОРУМ!
|
|
|
|
Reddalerzn | Дата: Четверг, 07 Июля 2011, 22:05:56 | Сообщение # 5 |
4 уровень
Группа: Проверенные
Сообщений: 89
Награды: 0
Репутация: 4
Блокировки:
| Quote (Deadly-man) нет, это делает сама игра. А то даже стандарт вис бы как хз что.
неправ. в стандарте слишком мало юнитов для виса. а вот в Дотах, ТД и т.п. это надо делать обязательно а то гг. Quote (Deadly-man) Quote (FatalBlade) И если надо, то нужно ли вдобавок удалять ещё и группу юнитов?
нужно.
смысл? при создании юнитов через триггер группа НЕ создаётся. достаточно 1 триггера чтобы избавится от лагов.
|
|
|
|
FatalBlade | Дата: Четверг, 07 Июля 2011, 22:16:10 | Сообщение # 6 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| А если создать переменную типа Группа Юнитов, и каждый раз обнулять её(удалять юнитов их группы), и пихать туда новых юнитов... утечек не будет?Добавлено (07-07-2011, 22:16) --------------------------------------------- Так надо удалять юнитов или нет?
Quote (Reddalerzn) смысл? при создании юнитов через триггер группа НЕ создаётся. достаточно 1 триггера чтобы избавится от лагов. Я планирую заносить их в группы, что бы можно было давать юнитам повторные приказы, потому что в случае Стана, у юнита отменяется приказ.
|
|
|
|
Reddalerzn | Дата: Четверг, 07 Июля 2011, 22:23:20 | Сообщение # 7 |
4 уровень
Группа: Проверенные
Сообщений: 89
Награды: 0
Репутация: 4
Блокировки:
| удалять юнитов надо. потом создай триггер с проверкой того что если все юниты в группе group мертвы то обнулить эту группу
|
|
|
|
[DS] | Дата: Четверг, 07 Июля 2011, 22:33:23 | Сообщение # 8 |
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
| Ремов служит для мгновенного удаления юнита.
Если юнит умерает, то через некоторое время он сам обнулится, если на этого юнита нет никаких ссылок.
|
|
|
|
FatalBlade | Дата: Четверг, 07 Июля 2011, 22:33:28 | Сообщение # 9 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Ок понятно. А как обнулять регион?
|
|
|
|
[DS] | Дата: Четверг, 07 Июля 2011, 22:35:06 | Сообщение # 10 |
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
| set region = null
|
|
|
|
DragoN | Дата: Четверг, 07 Июля 2011, 23:29:42 | Сообщение # 11 |
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
| работать с глобальной группой пройтись по ней(циклом например) и удалить юнитов, которые она содержит и да, юниты после смерти сами удаляются из памяти
El Psy Congroo
|
|
|
|
FatalBlade | Дата: Четверг, 07 Июля 2011, 23:59:41 | Сообщение # 12 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Quote (DragoN) и да, юниты после смерти сами удаляются из памяти Так всё таки не надо их удалять? Значит удалять надо только юнитов из группы.
Quote (DragoN) пройтись по ней(циклом например) и удалить юнитов, которые она содержит Зачем? Есть же функция в ГУИ которая стирает всех юнитов из группы. Clear all units from Unit Group.
|
|
|
|
DeadJass | Дата: Пятница, 08 Июля 2011, 00:05:14 | Сообщение # 13 |
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
| перед созданием группы поставь это: bj_wantDestroyGroup=true
^ кликабельно Archers Of The Island v1.8 - на стадии завершения
|
|
|
|
TYUI | Дата: Пятница, 08 Июля 2011, 00:09:42 | Сообщение # 14 |
2 уровень
Группа: Пользователи
Сообщений: 20
Награды: 0
Репутация: 0
Блокировки:
| FatalBlade, разницы нет как чистить группу, можно удалять юнита с помощью цикла из группы, а можно просто почистить ее. Чистишь группу и удаляешь группу, просто можно пиком пройтись, а можно циклом. Второе удобно если там с локалками, иначе вообще воспользоваться стоит хешом или глобалкой.
|
|
|
|
lawson | Дата: Пятница, 08 Июля 2011, 03:31:00 | Сообщение # 15 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Quote (TYUI) иначе вообще воспользоваться стоит хешом Объясни мне принцип работы обнуления хешом. ПЗДЕЦ нубы.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
Сообщение отредактировал lawson - Пятница, 08 Июля 2011, 03:33:54 |
|
|
|
[DS] | Дата: Пятница, 08 Июля 2011, 08:11:02 | Сообщение # 16 |
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
| bj_wantDestroyGroup=true вроде как утечна
|
|
|
|
Deadly-man | Дата: Пятница, 08 Июля 2011, 09:07:37 | Сообщение # 17 |
7 уровень
Группа: Заблокированные
Сообщений: 279
Награды: 0
Репутация: 26
Блокировки:
| Quote (Reddalerzn) смысл? при создании юнитов через триггер группа НЕ создаётся. достаточно 1 триггера чтобы избавится от лагов. чтобы заставить идти крипов нужно создавать группу. А чтобы избавиться от утечки нужно ее удалить. Или я что-то пропустил?
Я ПОРВАЛ ФОРУМ!
|
|
|
|
lawson | Дата: Пятница, 08 Июля 2011, 10:20:16 | Сообщение # 18 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Quote (Deadly-man) нужно создавать группу Quote (Deadly-man) утечки нужно ее удалить Да нужно ее удалять! call DestroyGroup(group) set group = null
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
FatalBlade | Дата: Пятница, 08 Июля 2011, 10:41:02 | Сообщение # 19 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Народ. Как удалять и обнулять группы и удалять утечки юнитов я знаю. Мой вопрос заключался в том, ЧТО именно надо удалять а что нет. Пока что судя по большинству мнений, я понял что юнитов НЕ надо удалять, это делает сама игра, а группу можно не удалять, а пользоваться одной и той же, при этом каждый раз её обнуляя.
|
|
|
|
vov68 | Дата: Пятница, 08 Июля 2011, 12:59:07 | Сообщение # 20 |
10 уровень
Группа: Проверенные
Сообщений: 1329
Награды: 3
Блокировки:
| вот только точки создания юнитов и точки куда будут наступать они придётся зачищать. лаг обычно из-за этого..
Зачем делать для других новые карты... ... лучше устроить коту божественный почесон. :)
|
|
|
|
[DS] | Дата: Пятница, 08 Июля 2011, 13:03:24 | Сообщение # 21 |
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
| пост выше прочитай и поймешь что нужно удалять/обнулять.
|
|
|
|
DeadJass | Дата: Пятница, 08 Июля 2011, 13:07:53 | Сообщение # 22 |
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
| [DS], она не утечна. это константа
^ кликабельно Archers Of The Island v1.8 - на стадии завершения
|
|
|
|
[DS] | Дата: Пятница, 08 Июля 2011, 13:14:16 | Сообщение # 23 |
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
| пошел читать статьи про бж функций Добавлено (08-07-2011, 13:14) --------------------------------------------- я
|
|
|
|
Blyadick | Дата: Пятница, 08 Июля 2011, 14:12:19 | Сообщение # 24 |
2 уровень
Группа: Пользователи
Сообщений: 29
Награды: 0
Репутация: -6
Блокировки:
| Quote (FatalBlade) 1) - Где то на форуме я читал, что в картах типа Доты, после каждой волны юнитов, когда они умирают, нужно делать Remove Unit, т.е. удалять утечки переменных типа юнитов. Правда ли это? Quote (FatalBlade) удалять утечки переменных типа юнитов тип юнита = integerQuote (FatalBlade) Правда ли это? нет Quote (FatalBlade) 2) - Когда очередная волна юнитов появляется в указанном в ВЕ регионе, нужно ли каждый раз удалять регион а потом заново создавать, или можно пользоваться одним и тем же? одним и тем же
- Лови топор - Поймал? - Чё молчишь?
|
|
|
|
FatalBlade | Дата: Пятница, 08 Июля 2011, 14:32:58 | Сообщение # 25 |
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
| Quote (vov68) вот только точки создания юнитов и точки куда будут наступать они придётся зачищать. Чувак... Это то же самое что сказать что когда юнит ходит/бежит, то каждую точку куда он наступает надо удалять.
|
|
|
|