alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
да что вы все спорите, чистить надо вручную, если хотите, чтобы был порядок в вашем коде и логике его работы. ScorpioT1000, док просто привык, что не надо за собой подбирать |
04.09.2012, 19:59 | #21
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
alexprey, ммм нет как бы удалять объекты я привык, это очень даже удобно, иногда даже удобней чем GC, но необнуление по сути утечкой не является и даже до конца не доказано, что оно влияет на быстродействие. |
04.09.2012, 20:14 | #22
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
Doc, ну точно да сказать нельзя как там сделано на самом деле сделано, это надо дизасмить код движка и разбираться в нем, как там происходит выделение локальных переменных. Но мне кажется там что то типа GC, который освобождает ячейки переменных, когда они находятся в null состоянии, и эту ячейку он сможет заюзаеть повторно потом. Хотя хз, но мне так кажется |
04.09.2012, 20:26 | #23
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
alexprey, ну я как бы еще на старом компе оставлял гейм ботов друг с другом, все спеллы юзались итд итп и уходил на 4-6 часов. Приходил, шел трехсотый раунд игры, падения фпс не было. Локалки чистил сжасс. |
04.09.2012, 20:33 | #24
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Причем тут фпс, скока памяти было занято?) TcX жрет пару килобайт в минуту после достаточной аллокации насколько я замечал. Это типа изза ордеров |
04.09.2012, 20:51 | #25
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
Обнуление таки сбрасывает счетчик ссылок объекта. Хотя Крок и говорил мне, что оно делается автоматически, возможно это - баг. Или он что то перепутал при его обратной инженерии.
Флуш в последней версии (та, что на гуглокоде) работает вполне корректно. В любом случае просто загляните в файл optimized_war3map.j, что в корневой директории адика, и Вы получите ответ на свой вопрос.
С другой стороны, Вы можете что угодно обнулить вручную, в таком случае также адик не поставит лишнего обнуления. И если в коде проставлены обнуления - адик опять-же их не продублирует.
Обнуление работает по принципу "лучше обнулить лишнее, чем не обнулить что-то нужное". Хотя на факте лишних обнулений в реальном коде крайне мало. Тем более, что они не сказываются на быстродействии в целом. Не обнуленных локальных переменных метод не допускает.
Также есть фишка, которая помечает переменную, как не нуждающуюся в обнулении:
ADOLF добавил:
А что тут не так? Я не понял. |
04.09.2012, 21:43 | #26
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
ассерт вызывает I2R(2/0) |
04.09.2012, 22:30 | #27
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
ScorpioT1000, занято не занято, а гиг памяти бы выжрало если бы текло серьезно. Ну всмысле на том компе стоял гигабайт памяти у меня, отнять еще винду и всякую фигню получится немного. |
04.09.2012, 22:37 | #28
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
ScorpioT1000, проблема вашей системы вот в чем
а теперь внимание, функция возвращает null, происходит обрыв потока, код дальше не выполняется, struct не освобождает ячейку, пофиг уже на то, что u не нулиться. А теперь это все в таймере, функция постоянно начинает глючить и выдавать все время null, после 8к раз валиться аллокация структуры, по мимо того, еще кучу данных не зачистилось из этой структуры. |
04.09.2012, 22:39 | #29
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Я о том и говорил доку. Именно поэтому такие ассерты юзаются тока в критических вещах, а я юзаю IFDEBUG с простым return, там cjass очищает всё =) |
04.09.2012, 23:07 | #30
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
jeffz
offline
Опыт:
104Активность: |
Спасибо за ответы. |
05.09.2012, 08:07 | #31
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
Doc:
А дебагом проверял? :)
а у меня гарбаж коллектор, мне вообще строго пофиг на утечки объектов :nate:
Faion добавил:
alexprey:
Тебе правильно кажется. Грубо говоря все это представляет собой массив. В котором хранятся хендлы на объекты и сами объекты. При освобождении ячейки, следующий же новый объект\хендл будет записан в эту пустую ячейку. |
05.09.2012, 11:17 | #32
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
Там сделано как-то так
|
05.09.2012, 12:14 | #33
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Че за гонево? Лол. Список индексов свободных ячеек? Не, не слышали. |
05.09.2012, 13:59 | #34
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
ScorpioT1000:
Да ты и про #ифы внутри дефайнане слышал, и про то что нельзя использовать русские названия для дефайнов, и варовские хт у тебя имеют прямую адресацию o/
Учи мат часть. |
05.09.2012, 16:34 | #35
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Ты просто не знаешь банальных вещей и придумываешь какое-то непрактичное говно, да ещё и других учишь этому =)
ScorpioT1000 добавил: Для особо непонятливых: если ячейка освобождается, она (её индекс в настоящем массиве) добавляется в очередь и это значит, что при надобности будет заюзана не именно эта ячейка, а первая в очереди. |
05.09.2012, 16:47 | #36
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
ScorpioT1000, если ячеек немного, то итак сойдет. Вообще если не критичен индекс то можно последний перемещать в пустую. Хотя у меня в игре реализовано именно списком свободных. |
05.09.2012, 16:58 | #37
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
ScorpioT1000:
Ну я как бы это и имелл ввиду. |
05.09.2012, 17:15 | #38
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Кстати на вики неверна реализация - никакого for быть не должно. Всё работает напрямую. |
05.09.2012, 17:35 | #39
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
ScorpioT1000:
Бтв да, пруф? =) |
05.09.2012, 17:39 | #40
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|