![]()
Vampirrr
O_o
![]() ![]() offline
Опыт:
19,286Активность: |
KillUnit vs RemoveUnit
Собственно нужен ли RemoveUnit после KillUnit? Помню годик назад был разговор на эту темку и кажется пришли к выводу что ненужен, но т.к. я могу и ошибаться, то решил спросить вашего мнения.
P.S.: я лично проверил - сидел килял юнитов, не ремувя их минут 20-ть - лагов не было..но все же)) Отредактировано Vampirrr, 10.02.2010 в 03:54. |
![]() |
#1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
BLOOD ELF
![]() ![]() offline
Опыт:
8,662Активность: |
Vampirrr,
Попробуй посмотреть так: сначала киляй без ремува и посмотри в диспетчере задач сколько процесс игры ест оперативной памяти, потом попробуй эту процедуру с ремувом. |
![]() |
#2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Virysru
![]() offline
Опыт:
7,692Активность: |
Килять и ремувить вроде бы одно и тоже, с разницей что труп при убийстве постепенно исчезает.
Лаги не из-за этого бывают, а из-за неудаления спецэффектов, точек и пр. |
![]() |
#3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Skino
![]() ![]() offline
Опыт:
4,683Активность: |
Он автоматом ремувиться после смерти, если с нем не связано переменных(на счёт этого неуверен) |
![]() |
#4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
DioD
![]() ![]() offline
Опыт:
45,134Активность: |
юнит ремувиться даже если на нём есть переменные, а вот хендл высвобождается только если переменных нет. |
![]() |
#5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Vampirrr
O_o
![]() ![]() offline
Опыт:
19,286Активность: |
Т.е. я могу положить на саму переменную, в которую забит юнит и главное хэндл зачищать не забывать? |
![]() |
#6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
FellGuard
Losyash
![]() ![]() offline
Опыт:
39,547Активность: |
попробуй такой тест. Каждые н секунд
Код:
Код:
Тест проводить на пустой карте где не создаётся никаких объектов и вообще желательно чтоб там ничего кроме этого теста не происходило. FellGuard добавил: Вообще рекомендуется даже всяких даммиков убивать (и прятать, при необходимости), игра доделает остальное. Ремув использовать не стоит... Надо так же обнулять все переменные типа unit, чтобы в памяти не было висячих ссылок и хэндл юнита становился снова свободным. Отдельно надо смотреть чтобы не было висячих ссылок в системах с кэшем/хеш-таблицами так как это чревато глюками и вообще неприятно (игра не отлавливает записанный в хэш-таблицу хендл объекта и не считает это повисшей ссылкой, так что если не удалять их оттуда вручную то может сложиться ситуация что по записанной ссылке в таблице будет получен уже не тот юнит (или не будет получен вообще) - если нужного юнита убили и игра его успешно ремувнула, а по освободившемуся хендлу, например, записало вообще какого-то левого свежесозданного юнита) |
![]() |
#7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
adic3x
![]() offline
Опыт:
108,439Активность: |
с каких это пор? все правильно. если вы хотите узнать, сущетсвует ли юнит, на которого ссылается переменная (априори она не null) - GetUnitTypeID(u)==0x00 ненужен в том случае, если юнита убили естественным путем. он через некоторе время сам разложиться и исчезнет. |
![]() |
#8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
DioD
![]() ![]() offline
Опыт:
45,134Активность: |
если так хочется мгновенно освободить ценные 4 килобайта памяти (или сколько там юнит стоит) ставьте ему тип смерти "не разлагается и без трупа" |
![]() |
#9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
FellGuard
Losyash
![]() ![]() offline
Опыт:
39,547Активность: |
А нечего в тдшках стандартные 88 время разложения костей в константах оставлять.
зига! - прим. адик Отредактировано ADOLF, 10.02.2010 в 22:15. |
![]() |
#10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Vampirrr
O_o
![]() ![]() offline
Опыт:
19,286Активность: |
Спасибо всем большое, ситуация разъяснена, можно закрывать) |
![]() |
#11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
DioD
![]() ![]() offline
Опыт:
45,134Активность: |
время разложения по нулям и юнит будет мгновенно удаляться после смерти. |
![]() |
#12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Vampirrr
O_o
![]() ![]() offline
Опыт:
19,286Активность: |
угу, мне это как раз подходит) |
![]() |
#13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|