Здрасте
	globals
		unit dummy
		real angle
		...
	endglobals
	

		
	function
		local unit u = dummy
		local real x = angle
		...
		//bla-bla-bla
		...
	endfunction
	
	function First takes nothing returns nothing
		local unit u
		local real x
		...
		call SetUnitX(u) //Example
		call ...
		...//50-60 строк, кол-во обращений к этим локалкам 10+ раз
		set dummy = u
		set angle = x
		call TimerStart(CreateTimer(),  0.03, true, function Second)  
	endfunction
Теперь вопрос, использование таких переходов и присваивание другим локальным более производительнее чем использование глобалок во всем триггере или нет?
Второй вопрос, это если таймер уже тикает, делать проверку на то запущен он или нет перед повторным запускрм таймера или не нужно?(Проблемок никаких не будет, если запускать уже запущенный таймер?)

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

	set u[i*3] = ... set u[i*3 + 1] = ... set u[i*3 + 2] = ...
	unit u[][]
	u[i][3] = ...

Любители поизголяться.

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
20
7 лет назад
0
quq_CCCP, только это не объясняет упомянутой разницы.
Само по себе*
Доц, конечно, рассказывал офигенные истории про различные коллбеки в оффтопке, но в рамках разницы глобалок и локалок это навряд ли имеет место быть
0
14
7 лет назад
Отредактирован Raised
0
По итогу пришли к тому, что большинство против лишнего объявления локалки, но по процессорному такту это получается невыгодно, т.к. нагружается сильнее. Нужно последнее слово.Также еще один вопрос,
globals 
	unit array u
endglobals

function
	local integer i

	loop 
	exitwhen i == 15
		set u[i*3] = ...
		set u[i*3 + 1] = ...
		set u[i*3 + 2] = ...
		call GetUnitState(u[i*3+1)
		...
		set i = i + 1
	endloop
endfunction
Вот так я хочу сделать во всех спеллах, т.е. в таймерах будут подобные циклы, и индекс массивной переменной каждый раз практически будет высчитываться, воот. Рационально ли это?Или лучше изначально создать три глобалки типа юнит и не работать с подобными манипуляциями?
0
29
7 лет назад
0
Это у вас такие методы прокрастинации? Поиски мифической оптимизации вместо написания кода? Или уже тормозит и все остальное оптимизировали?
0
16
7 лет назад
Отредактирован DracoL1ch
0
вы ракету строите или очередную карту для 100 человек? ЭТО НЕ ТЕ ВОПРОСЫ. даже если всё лагает, ЭТО НЕ ТО МЕСТО, где надо оптимизировать. вот эта погоня за тактами ничего не даст. ею следует заниматься, когда уже всё сделано, когда нехер делать, когда хочется похвастать ЗАЦЕНИ КАК Я МОГУ. в 2017 никто не заценит. пиши как удобно - остальное приложится
0
14
7 лет назад
0
"Когда задаешь вопрос, а вместо ответа слышишь вскукареки в виде ускользания на другие темы"
Чота в голосяндру, Я спрашиваю заранее наилучший вариант написания кода, чтобы потом не возвращаться и не переписывать все подобные ошибки.
>в 2017 никто не заценит.
Щас бы в 2017-м не ценить оптимизацию, оч вкусно. Прекращайте вбрасывать подобные вбросы, плез. Отвечайте по факту.
ЕДинственное что мне осталось, это прелоад и вроде как я смогу приступать все делать без дальнейшей перезаписи.
0
26
7 лет назад
Отредактирован Hate
0
Теперь вопрос, использование таких переходов и присваивание другим локальным более производительнее чем использование глобалок во всем триггере или нет?
не настолько что бы кто либо заметил, это не рациональный подход к оптимизации. оптимизировать в первую очередь нужно узкие места, и использование глобалок вместо локалок и наоборот вам совершенно не сделает никакой погоды
Этот комментарий удален
0
14
7 лет назад
Отредактирован Uber
0
не настолько что бы кто либо заметил, это не рациональный подход к оптимизации. оптимизировать в первую очередь нужно узкие места, и использование глобалок вместо локалок и наоборот вам совершенно не сделает никакой погоды
Локалки же априори выгоднее глобалок, я думаю необходимо засотрять внимание на этом.
2 пункта от Uber: 2.1 (оскорбление)
0
32
7 лет назад
0
LainMikoroso, эмм не настолько чтобы отказываться от глобалок, да и создание 100500 локалок не есть хорошо.
Темболее не нужно заниматься такой фигней лучше сосредоточится на более важных вещях.
0
14
7 лет назад
0
эмм не настолько чтобы отказываться от глобалок, да и создание 100500 локалок не есть хорошо.
Темболее не нужно заниматься такой фигней лучше сосредоточится на более важных вещях.
ВО втором вопросе я не использую локалки, я заменяю кол-во глобалок на работу с индексом переменной с помощью арифметических действий
0
10
7 лет назад
0
LainMikoroso:
Да что там нагружается, фпс не скачет, значит все норм, не парься
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.