FKoFF
Venomancer 89lvl. Europe
offline
Опыт:
5,975Активность: |
Несколько вопросов по оптимизации
Ммм... поехали
Требуется ли обнулять хэндлы из перечня параметров которые функция берет? Вызывает ли утечку, к примеру, Location(GetUnitX(u),GetUnitY(u))? следует ли обнулять глобальные переменные хэндлы перед их перезаписью (прим. - udg_unit)? спасает ли функция set bj_wantDestroyGroup = true от утечки при использовании ForGroup? |
11.11.2010, 04:07 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
_Red
offline
Опыт:
4,095Активность: |
FKoFF:
не помню FKoFF: да FKoFF: обнулять - необезательно, удалять - да FKoFF: только от одной (удаление группы) |
11.11.2010, 05:17 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FKoFF
Venomancer 89lvl. Europe
offline
Опыт:
5,975Активность: |
_Red:
как ты удалишь хэндл юнита из глобальной переменной? Отредактировано FKoFF, 11.11.2010 в 06:17. |
11.11.2010, 06:05 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
_Red
offline
Опыт:
4,095Активность: |
RemoveUnit(unit) unit=null пологаю примерно так |
11.11.2010, 07:28 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
59,317Активность: |
_Red, насколько мне известно достаточно убить юнита и обнулить переменную дальше вар всё сделает сам |
11.11.2010, 07:56 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nekit1234007
offline
Опыт:
11,916Активность: |
Автор вообще читал как пользоваться джассом и про типы его данных? |
11.11.2010, 08:04 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Klop
Папа римский
offline
Опыт:
13,006Активность: |
FKoFF:
Используй координаты зачем Location
FKoFF:
Незнаю я стараюсь обнулять всё
FKoFF:
смотря в каком случае,если переменная используется в спелл,то после выполнения спелла надо обнулять если там виси какой то нужный тебе герой ,а потом его перезаписываеш то вроде ненадо
FKoFF:
зачем это надо,изначальне заноси группу в локалку например
Что то вроде такого |
11.11.2010, 08:16 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
JassMan
свободен
offline
Опыт:
4,193Активность: |
По поводу Location писал вчера xgm.ru/forum/showpost.php?p=931093&postcount=8
По поводу группы:
local group g=CreateGroup()
local boolexpr b=Condition(function bla_bla) Добавляем функцию на условия и записывает этот бул-экспр в переменную для дальнейшего удаления. call GroupEnumUnitsInRange(g,x,y,radius,b) Если условия не нужны, то вместо b ставится null.
call ForGroup(g,function GroupActions) call DestroyGroup(g) call DestroyBoolExpr(b) set g=null set b=null Любые переменные кроме типов: boolean, integer, real, string, player — нужно обнулять
А объекты ремувить или дестроить
Хотя юнитов достаточно убить а дальше вар сам их удалить по истечению некоторого времени. Просто можно это сделать сразу. Тем самым освободив хендл |
11.11.2010, 08:24 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
_Red
offline
Опыт:
4,095Активность: |
|
11.11.2010, 08:41 | #9
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
нет, насколько мне известно от адольфа и тоадкопа, в стеке они очищаются сами (что странно, ведь сами по себе локальные переменные тоже работают в "стеке") ScorpioT1000 добавил:
JassMan всё правильно говорит вроде ScorpioT1000 добавил:
там вроде при ремуве не срабатывают эвенты итп, и типа если у тебя событие зарегистрировано на "юнит умирает", допустим, удалить его из какойто очереди, то тут это не сработает. ну вобщем это просто надо всё иметь ввиду |
11.11.2010, 11:40 | #10
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
FKoFF
Venomancer 89lvl. Europe
offline
Опыт:
5,975Активность: |
Nekit1234007:
звучит как попытка самовыражения из уст молодого подавана.
Остальных благодарю, тему можно закрывать. |
11.11.2010, 14:20 | #11
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nekit1234007
offline
Опыт:
11,916Активность: |
Не читал, ок. |
11.11.2010, 14:23 | #12
+1/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|