inhuman89
offline
Опыт:
3,019Активность: |
помогите найти причину лагов в триггере
всем привет. собственно сабж:
почему возникают лаги мне не понятно точки вроде удаляю и чищу переменные...
то что свернуто - там пусто. |
27.04.2010, 14:47 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
60,317Активность: |
inhuman89, надеюсь опять с скоростью дистанции (дамии скилла) не накосячил? |
27.04.2010, 15:19 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
inhuman89
offline
Опыт:
3,019Активность: |
16GB, нет я сразу об этом подумал но каково было мое удивление когда я увидел что там стоит 10000... |
27.04.2010, 15:23 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
60,317Активность: |
ну значит это просто из-за гуи такое на нём лучше не делать не удаляешь группы |
27.04.2010, 15:27 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
McKenzza
Qt
offline
Опыт:
4,054Активность: |
утечки в пиках. Лучше создать группу, потом сделать над ней действия и удалить. |
27.04.2010, 15:28 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
60,317Активность: |
|
27.04.2010, 15:29 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nekit1234007
offline
Опыт:
11,916Активность: |
DestroyGroup(GetLastCreatedGroup()) Т_Т |
27.04.2010, 15:31 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
60,317Активность: |
Nekit1234007, чё не так? |
27.04.2010, 15:32 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nekit1234007
offline
Опыт:
11,916Активность: |
То что твоя локалка вообще не к месту. |
27.04.2010, 15:32 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
60,317Активность: |
я понял уже ну от этого же хуже не будет? |
27.04.2010, 15:33 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Nekit1234007
offline
Опыт:
11,916Активность: |
Будет, время на создание локалки, присваивания и тп. |
27.04.2010, 15:35 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Helpmeplz
offline
Опыт:
11,738Активность: |
Nekit1234007, GetLastCreatedGroup() - это группа последних созданных юнитов, а не пикнутых...
|
27.04.2010, 15:37 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
60,317Активность: |
а как надо?
|
27.04.2010, 15:45 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Helpmeplz
offline
Опыт:
11,738Активность: |
можно поставить вначале set bj_wantDestroyGroup = true
но я не уверен, потому что он может удалить группу в которую заносятся снаряды(или че там перемещается в триггере). поэтому желательно использовать свободную переменную типа группа и в нее заносить этих пикнутых юнитов и после действий над ними удалять ее call RemoveGroup(udg_Group). |
27.04.2010, 15:50 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Stefler
MCA
offline
Опыт:
10,457Активность: |
Helpmeplz, тогда в эту группу нельзя будет больше никого заносить после 1ого такого действия!
Nekit1234007, трушные вещи говорит! |
27.04.2010, 15:52 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
McKenzza
Qt
offline
Опыт:
4,054Активность: |
|
27.04.2010, 15:52 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
60,317Активность: |
F1shkA:
у мя так и сделано |
27.04.2010, 15:53 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
inhuman89
offline
Опыт:
3,019Активность: |
я так и сделал, но лагов стало не намного меньше =)
В чем еще может таиться утечка? Точки - удаляю (если не все то подскажите, у меня уже голова кругом идет) Переменные типа юнит - обнуляю Группы теперь удаляются. Что еще? вот так у меня:
Set TEMP_group = (Units within 70.00 of PROJ_next_p matching .... бла бла Pick every unit in TEMP_group and do (Actions) .... Custom script: call DestroyGroup( udg_TEMP_group ) Custom script: set udg_TEMP_group = null |
27.04.2010, 15:55 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
60,317Активность: |
лаги из-за удаления точек поробуй создовать 1к точек и все сразу удалять |
27.04.2010, 15:58 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Helpmeplz
offline
Опыт:
11,738Активность: |
Stefler, почему же?
мы создаем группу set Group = blablabla проводим с ней действия и удаляем call DestroyGroup. для следующего юнита в цикле создастся новая группа и произведутся те же действия. факт в том, что лаги вызывает как минимум эта группа. 50 раз в секунду * 300 с * 0.62кб = 9мб оперативной памяти за 5 минут для одного игрока, при условии, что группа каждый раз пустая. А если в ней будет хотябы по 15 юнитов то это число можно спокойно удваивать. но и то неособо много. возможно утечки вызывает что-то еще. |
27.04.2010, 16:00 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|