Добавлен
Использую след.конструкцию
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
14
7 лет назад
0
да, точно дичь втираешь. Какие значения у тебя принимают переменные условия цикла?
Положительные от 0 и до 10(не более, тестил с 0-2)
0
15
7 лет назад
0
Короче. Вот тебе- проблема не с локалкой, а с условиями (ну если, конечно, пробелма в этих местах). Узнай какое из условий зацикливается и не выходит, и будет тебе счастье
0
14
7 лет назад
0
EnergyFrost:
Короче. Вот тебе- проблема не с локалкой, а с условиями (ну если, конечно, пробелма в этих местах). Узнай какое из условий зацикливается и не выходит, и будет тебе счастье
(Поменял переменную все заработало)
Тебе еще раз повторить?
0
15
7 лет назад
Отредактирован EnergyFrost
0
LainMikoroso, да, пожалуйста. 3 раза. Отладку давай лучше, чем упираться
0
32
7 лет назад
0
LainMikoroso, вот кто так делает?
У вас цикл вовсе не должен запустится, ибо переменная не инициализрованна:
local integer i // необходимо заменить local integer i = 0
Потом есть лимит операций, нужно осторожнее с циклами в которых 100500 итераций.
Просадку фпс вызывает кривой код, предоставьте весь код а не этот пример...
0
14
7 лет назад
0
quq_CCCP:
LainMikoroso, вот кто так делает?
У вас цикл вовсе не должен запустится, ибо переменная не инициализрованна:
local integer i // необходимо заменить local integer i = 0
Потом есть лимит операций, нужно осторожнее с циклами в которых 100500 итераций.
Просадку фпс вызывает кривой код, предоставьте весь код а не этот пример...
Читай ниже, плез, там я отписал что инициализирую, но забыл написать ее в коде.
Весь код в мейн записи.
0
32
7 лет назад
0
LainMikoroso, ничего лаги не вызывает... Это ваша фантазия...
0
15
7 лет назад
0
LainMikoroso, вам 3 мапмейкера говорят одно и то же. Может быть, и правда она- дичь?
2
14
7 лет назад
2
вам 3 мапмейкера говорят одно и то же. Может быть, и правда она- дичь?
Не
0
29
7 лет назад
0
LainMikoroso,
сделай тестовую карту с этими, и чтобы там были лаги. Тогда мы тебе поверим.
2
30
7 лет назад
Отредактирован Clamp
2
LainMikoroso, описаное в вопросе невозможно технически по ряду причин. Более того, каждая новая локальная переменная только увеличивает количество выполняемых процессором команд, что определённо не может увеличивать производительность функции по определению.
Принятый ответ
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.