У меня в карте очень много триггеров, решить проверить для нахождения хэндлов
при запуске карты в таблице от 8к бешеный отсчет, каждую сек цифра в хэндлах прибавляется на 100 и она не останавливается вообще.Что это значит? Не начнет ли лагать карта или не взорвется ли она вообще?
Использую код проверки хэндла вот этот, мб с ним что не так
   local integer i = 0
   local integer id
   local location array P
   local real result=0
   loop
      exitwhen i >= 50
      set i = i + 1
      set P[i] = Location(0,0)
      set id = GetHandleId(P[i])
      set result = result + (id-0x100000)
   endloop
   set result = result/i-i/2
   loop
      call RemoveLocation(P[i])
      set P[i] = null
      exitwhen i <= 1
      set i = i - 1
   endloop
   call LeaderboardSetItemValue(udg_HandleBoard,0,R2I(result))
endfunction

function HandleCounter_Actions takes nothing returns nothing
   set udg_HandleBoard = CreateLeaderboard()
   call LeaderboardSetLabel(udg_HandleBoard, "Handle Counter")
   call PlayerSetLeaderboard(GetLocalPlayer(),udg_HandleBoard)
   call LeaderboardDisplay(udg_HandleBoard,true)
   call LeaderboardAddItem(udg_HandleBoard,"Handles",0,Player(0))
   call LeaderboardSetSizeByItemCount(udg_HandleBoard,1)
   call HandleCounter_Update()
   call TimerStart(GetExpiredTimer(),0.05,true,function HandleCounter_Update)
endfunction

function InitTrig_HandleCounter takes nothing returns nothing
   call TimerStart(CreateTimer(),0,false,function HandleCounter_Actions)
endfunction

Принятый ответ

особо не смотри туда, смотри по съеденной оперативке в диспетчере задач
`
ОЖИДАНИЕ РЕКЛАМЫ...
1
32
5 лет назад
1
особо не смотри туда, смотри по съеденной оперативке в диспетчере задач
Принятый ответ
1
29
5 лет назад
1
Bergi_Bear:
особо не смотри туда, смотри по съеденной оперативке в диспетчере задач
А когда сожрётся вся оперативка можно смотреть в окно))
0
32
5 лет назад
0
А когда сожрётся вся оперативка можно смотреть в окно))
я тут одной мемхачной функций создавал утечку в 40 мегабайт за вызов, таким образом Варкрафт мне сказал, что недостаточно оперативной памяти примерно при 1200 мегабайтах и отказался работать
0
29
5 лет назад
0
Bergi_Bear, когда зададитесь вопросом, почему виртуальная клавиатура на андроид весит ~100мб, что примерно в 3 раза больше чем win95, тогда вспомните свои советы))
0
32
5 лет назад
0
NazarPunk, я точно не буду вспоминать =)
0
29
5 лет назад
0
Bergi_Bear:
NazarPunk, я точно не буду вспоминать =)
значит зря я считаю хэндлы и публикую заклинания без утечек(
0
32
5 лет назад
0
да зря, покажи что нет ни 1 утечки в карте на 40к строк кода, или на 1к триггеров (или просто в большой полноценной карте, если количество строк кода не показатель), они начнут проявляться ибо хендел каунтер - лажа
0
32
5 лет назад
0
Тут сложный вопрос, не видя код карты и задумку, нельзя сказать наверняка.
Существуют карты с очень большим кол-вом обьектов, но они не лагают, далеко ходить не надо - Замок Скиби, там по 90 крипов за волну + мини игры, но никаких тормозов с лагами как в лтд нету даже близко.
0
26
5 лет назад
0
У Близзард словно другой компилятор, как-то человек просто открыл и сохранил первую карту кампании Рексара, она либо глючить стала, либо вообще перестала запускаться. Проверял, с другими картами из официальных кампаний аналогично.
0
32
5 лет назад
0
8gabriel8, не бред, скорее всего из за локализации ошибки, интерпритация скрипта происходит при загрузке карты движком, поэтому дело тут не в близзардах а в кривых руках и ошибках в коде.
2
28
5 лет назад
2
хендел каунтер - лажа
Не согласен, в нём есть смысл, определить постоянные утечки поможет. Тут ещё и зависит от того, что называть утечками.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.