Добавлен
Использую след.конструкцию
globals
integer niju = XXXX
integer rokuju = XXXXXXX
endglobals
Function Lmao takes nothing returns nothing
	local integer i
	
	loop 
	exitwhen i == niju
		...
		i++
	endloop
	
	set i = 0
	
	loop 
	exitwhen i == rokuju
		...
		i++
	endloop
Вызывает лаги, т.к. я использую локалку i дважды для обоих циклов, а вот если я использую другую локалку, нууу, объявляю и использую ее для второго цикла, то уже не лагает. Как сделать так, чтобы не лагали циклы при использовании одной локалки для них всех.

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

LainMikoroso, описаное в вопросе невозможно технически по ряду причин. Более того, каждая новая локальная переменная только увеличивает количество выполняемых процессором команд, что определённо не может увеличивать производительность функции по определению.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
19
7 лет назад
0
Похожие вопросы:

ответ
TAHK90:
убери действие for integer B
заведи себе переменную типа integer с именем count
далее выбираешь всех юнитов в группе
с каждым действием count увеличивай на 1
делаешь нужные действия если count меньше 2
если равен или больше - устаналивай на 0 и очищай группу
ответ
в гуи есть триггер-добавить событие
в триггере с событием инициализация 
если триггерная область == null (нету области)
	пробегаем циклом по массиву областей
	триггер - добавить событие этому триггеру (Юнит входит в область (Rect[А]))
иначе
	делаем то что надо делать при входе в 1 из 50 областей
иначе никак
ответ
~16GB:
ты что делаешь новые функции для гуи? если да, то нафига?
ответ
Custom script: exitwhen true
ответ
Лимит операций примерно 4 к. А у тебя тут поболее 16к.
Обойти лимит операций можно только разнеся действия в разные потоки. К примеру для через таймер.

16
26
7 лет назад
16
вы втираете какую то дичь
0
15
7 лет назад
Отредактирован EnergyFrost
0
Дичь или кривые условия в циклах. Ну типа niju или rokuju - отрицательные или очень-очень большие. И я не знаю, как и что там с инициализацией по-умолчанию локалки. (проверять самому лень). Но вообще, по сути должно инициализироваться автоматом нолем
0
14
7 лет назад
0
EnergyFrost:
Дичь или кривые условия в циклах. Ну типа niju или rokuju - отрицательные или очень-очень большие. И я не знаю, как и что там с инициализацией по-умолчанию локалки. (проверять самому лень). Но вообще, по сути должно инициализироваться автоматом нолем
А, лол я забыл дописать, я локалку инициализирую нулем, а глобалки устанавливаются в другом триггере
0
15
7 лет назад
0
LainMikoroso, в первый цикл допиши BJDebugMsg(I2S(niju)), во второй BJDebugMsg(I2S(rokuju )). Вот тебе счастье. Если все нормально выполняется и выходит, значит проблема не в этом куске
0
14
7 лет назад
0
в первый цикл допиши BJDebugMsg(I2S(niju)), во второй BJDebugMsg(I2S(rokuju )). Вот тебе счастье. Если все нормально выполняется и выходит, значит проблема не в этом куске
(Если я использую другую локалку то все работает)
0
15
7 лет назад
0
LainMikoroso, да, точно дичь втираешь. Какие значения у тебя принимают переменные условия цикла?
0
14
7 лет назад
0
да, точно дичь втираешь. Какие значения у тебя принимают переменные условия цикла?
Положительные от 0 и до 10(не более, тестил с 0-2)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.