XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,245
Активность:
Глобальный boolexpr
А что если создать глобальный boolexpr и добавить проверку туда на мертвых и не героев, будет ли это оптимальнее чем без него?
Старый 09.09.2012, 00:17
DaeDR

offline
Опыт: 8,074
Активность:
Смысл в конце твоего вопроса просто потерялся.
Если ты имеешь в виду создать несколько глобальных boolexpr вместо кучи локальных, то ДА, это будет оптимальнее. Сам пользуюсь
Старый 09.09.2012, 04:56
quq_CCCP
Я белый и пушистый!
offline
Опыт: 94,598
Активность:
Vadik29, мою карту в барахолке смотрел?, там используется порядка 4 глобальных боллекспров для разных целей, все они используются многократно во время игры...
Старый 09.09.2012, 05:55
Vadik29
Choice Battle 1.6а
offline
Опыт: 15,245
Активность:
DaeDR, quq_CCCP, Спасибо )
Старый 09.09.2012, 07:50
DioD

offline
Опыт: 45,184
Активность:
булэкспры кешируются как и строки, то что вы делаете совершенно бесполезная трата ресурсов.
Старый 09.09.2012, 12:52
quq_CCCP
Я белый и пушистый!
offline
Опыт: 94,598
Активность:
DioD, но разве создавать уи удалять 10 болэкспров в секнуду правильно?
Нафиг создавать новый обьект если можно использовать старый?
quq_CCCP добавил:
quq_CCCP, Так я решил проблему с триггерными скиллами, там постоянно нужны идентичные болекспры, причем довльно часто, я обошёлся всего 4, вместо 1000, соззданых и удалённых
Старый 09.09.2012, 12:57
Faion
Noblesse Oblige
offline
Опыт: 30,395
Активность:
Поиск говорит это
Старый 09.09.2012, 13:39
adic3x

offline
Опыт: 107,539
Активность:
Поиск говорит это
Там во многом устаревшая информация.
булэкспры кешируются как и строки, то что вы делаете совершенно бесполезная трата ресурсов.
Прав.
quq_CCCP:
DioD, но разве создавать уи удалять 10 болэкспров в секнуду правильно?
Нафиг создавать новый обьект если можно использовать старый?
Вам же написали, что они кешируются, можно спокойно использовать функцию Condition, она не создает утечку.
Старый 09.09.2012, 14:40
quq_CCCP
Я белый и пушистый!
offline
Опыт: 94,598
Активность:
ADOLF, да я про сам факт вызова этой функции многократно, ну тупо же, какждый раз, как потребуется Condition(function ***)
quq_CCCP добавил:
то что он каждый раз будет возвращать один и тот же болекспр ясно....
Старый 09.09.2012, 15:21
YellowStar
poon
offline
Опыт: 15,144
Активность:
Цитата:
Сообщение от ADOLF
Вам же написали, что они кешируются, можно спокойно использовать функцию Condition, она не создает утечку.

Зашибись, но я спокойно юзаю такую конструкцию для простоты душевной

Код:
define
     isEnemy = Condition(function IsEnemy)
     isAlly     = Condition(function IsAlly)
enddefine


брат жив.
Старый 09.09.2012, 15:24
adic3x

offline
Опыт: 107,539
Активность:
да я про сам факт вызова этой функции многократно, ну тупо же, какждый раз, как потребуется Condition(function ***)
DioD говорил о зле преждевременной низкоуровневой оптимизации, но ведь это Вам ни о чем не говорит...
Старый 09.09.2012, 15:26
YellowStar
poon
offline
Опыт: 15,144
Активность:
Скажу так, оптимизация кода - не нужна. Устраняйте утечки которые там имеются, и все, жрите хоть с 1000 бж, функциями, все будет робить на 5.

В последнее время все меньше забочусь о чистоте кода итд, раньше дрочил, типа фан был, но когда работаешь на готовый продукт, и не в команде кодеров, советую превратиться в индуса, забрать гордость в сральник, и ПАХАТЬ ПАХАТЬ И ЕЩЕ РАЗ ПАХАТЬ
Старый 09.09.2012, 15:31
ScorpioT1000
Работаем
offline
Опыт: отключен
local boolexpr a = Condition(...)
если a не обнулить, хендл будет висеть =) остальное норм
Старый 09.09.2012, 17:28
DioD

offline
Опыт: 45,184
Активность:
Condition (function A) == Condition(function A)
только от того и потому что это один и тот же объект
define
     isEnemy = Condition(function IsEnemy)
     isAlly     = Condition(function IsAlly)
enddefine
хоть раз хоть один умный школьнег использую подобную систему начитавшись про оптимизацию удалит где-то в коде "утечку" и вся карта встанет на колени и будет сосать, потому что каждый вызов использующие эти переменные будет выдавать нулпойнт эксепшины.
local boolexpr a = Condition(...)
а зачем выдавать кондишину локалку то?
Старый 10.09.2012, 11:50
quq_CCCP
Я белый и пушистый!
offline
Опыт: 94,598
Активность:
DioD, так то примерно тоже что ты написал я и использую, без дефайна... и у меня 4 разных боллекспра а не 2...
Старый 10.09.2012, 11:59
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 02:47.