Добавлен
Правильно ли я делаю устанавливая z1 2 раза? 1 раз в globals. 2 раз в таймере каждые 0.03 сек? Просто по другому триггер работать не хочет

Skolz:
дайте мне уж чёткий ответ. То что я устанавливаю z1 = 0 каждые 0.03 сек это плохо или норм?
внизу идёт цикл z1 от 1 до z (по гуишному)
Ладно, ничего в этом страшного нет, если оно работает.
Так что всё в порядке, если тебя это успокоит.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
18
Пушистый:
Зачем глобальная z1, если она все равно обнуляется? Как я понял по коду, то функция запускается периодично каждые 0.03 секунды, что, вероятно, ненадежно (так как если запустится несколько таких таймеров, то z1 в каком-то из них начнет принимать значения от другого применения), поэтому z1 нужно сделать локальной.
в jass потоки синхронизированы
Skolz, если ты в функции обращаешься к глобалке больше трёх раз, то с точки зрения производительности будет выгоднее объявить локалку и её использовать, т.к обращение к локальной переменной в 4 раза быстрее чем к глобальной
, тем более ты буквально делаешь из этой глобалки счетчик для работы цикла, а это присваивание по кд - значит ты сильно проигрываешь в производительности, лучше всего будет объявить там локалку и использовать её
16
Мои замеры не показали никакой разницы между локал и глобал переменными
29
DracoL1ch, локалки лишь затормаживает из-за их объявления, а глобалки уже заранее объявляются, а скорость операции над ними одинакова.
Хотя, пере-взглянув на кусок кода данного пользователя, я не могу определить правильность его кода, потому что, он, во первых показал его не полностью. Во вторых, он не рассказал, что именно делает та часть кода. Мы не ясновидящие. (Но всё же , лучше используй структуры)
18
DracoL1ch:
Мои замеры не показали никакой разницы между локал и глобал переменными
ну не из воздуха же он взял эти цифры
10
дайте мне уж чёткий ответ. То что я устанавливаю z1 = 0 каждые 0.03 сек это плохо или норм?
внизу идёт цикл z1 от 1 до z (по гуишному)
29
Skolz:
дайте мне уж чёткий ответ. То что я устанавливаю z1 = 0 каждые 0.03 сек это плохо или норм?
внизу идёт цикл z1 от 1 до z (по гуишному)
Ладно, ничего в этом страшного нет, если оно работает.
Так что всё в порядке, если тебя это успокоит.
Принятый ответ
18
KingMaximax:
скорость операции над ними одинакова.
не одинакова, область видимости у глобалки и локалки разные - значит и чтобы добраться до глобалки нужно больше ресурсов. Но это если судить по строгой оптимизации, ну а если закрыть глаза на это, то можно представить что они одинаковы по затратам ресурсов
10
KingMaximax, спасиб.
Но а делать z1 локальной не вариант, т.к. мне нужно в этом таймере создать даммика и перенести его в другой спелл
18
Skolz, сказали уже, объяви локалку и присвой ей значение глобалки которую передаешь, далее в функции работай с этой локалкой.
И под конец можешь вновь присвоить глобалке значение из локалки и передать куда тебе нужно
А структуры вообще то сделаны из массивов глобалок
10
UrsaBoss, "объяви локалку и присвой ей значение глобалки которую передаешь"
Не понял? Как это сделать?
18
Skolz неправильно выразился, там просто ты используешь глобалку для работы цикла и т.д - а это != хорошо.
Можно в начале объявить локалку и повесить на неё эти обязанности
А если ты потом куда то будешь передавать z1, то просто в конце функции присваиваешь z1 нужное значение из локалки
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.