Абсолютно бесполезная библиотека, также как и абсолютное бесполезный выигрыш по времени при обращение к КОНСТАНТАМ. Если значение Null - то идёт обращение к 0 ячейке памяти пустой, в любом случае. Константа же, задаёт обращение к ячейке памяти например 0x99999. В общем, тупите братец.
на хайве замеры по скорости делают, это не пустые буквы
Это пустые буквы. Наносекунду, которую ты получишь, никто не увидит. Даже играя в доту ты не увидешь там конструкций по типу if UnitAddAbility then UnitRemoveAbility endif Оно быстрее надёжнее, но ОНО не НУЖНО, потому что полученная скорость от этих скриптов - минимальная. Посмотри тот же код TcX - который обрабатывается множество раз.
В общем что я тут распинаюсь, вам нужно псевдооптимизация которая не даст никакого видимого эффекта даже на слабейших машинах
В общем, для хомячков и чайников проясню на счет этого:
Quote (bubliq)
if UnitAddAbility then UnitRemoveAbility endif Оно быстрее надёжнее, но ОНО не НУЖНО, потому что полученная скорость от этих скриптов - минимальная. Посмотри тот же код TcX - который обрабатывается множество раз.
Думаю многие знают что ТСХ достаточно старый проект, который разрабатывался до 1.24. Так вот, раньше попытка удалению абилки которой нету у юнита приводило к фаталу. Это касается и многих других моментов. Так же подчеркну, что есть ситуации которые требуют проверок, в противном случае будут существенные потери в производительности(Те кто работал достаточно с МБ думаю сталкивались с подобным моментом).
О нас думают плохо лишь те, кто хуже нас, а те кто лучше нас... Им просто не до нас. My Project: Nindogatari MAL
В общем, для хомячков и чайников проясню на счет этого: Quote (bubliq) if UnitAddAbility then UnitRemoveAbility endif Оно быстрее надёжнее, но ОНО не НУЖНО, потому что полученная скорость от этих скриптов - минимальная. Посмотри тот же код TcX - который обрабатывается множество раз.
Думаю многие знают что ТСХ достаточно старый проект, который разрабатывался до 1.24. Так вот, раньше попытка удалению абилки которой нету у юнита приводило к фаталу. Это касается и многих других моментов. Так же подчеркну, что есть ситуации которые требуют проверок, в противном случае будут существенные потери в производительности(Те кто работал достаточно с МБ думаю сталкивались с подобным моментом).
дада, фаталы, ага. Можно хоть десять несуществующих абилок было удалять, кому ты тут несёшь.
Ну и по фактам. Мне не нужно, давать ссылки на проекты. Мне достаточно знать что вы страдает хернёй.
1. Оптимизация ваша не даёт вообще никакого выигрыша в FPS даже при 100 тактах в секунду. 2. Чтобы в карте не лагало, нужно просто грамотно запрелоадить нужные тебе данные. Не более. 3. Оптимизация многих моментов достигается достаточно умным распределением загрузки. Например динамичным подгружением героев. (что в принципе реализовано в доте, что позволяет карте на сильных машинах грузиться не более 3 секунд)
итд. вот в этом направлении должна идти оптимизация, а не попытки с экономить наносекунды, которые ВООБЩЕ погоды не делают. Делать нужно на конечного пользователя, а не для самоудовлетворения.
что в принципе и отличает качество наработок хайва и wc3c.net где в принципе (во втором) не смотрят на мелкие аспекты по типу давайте и тут выиграем милисекунду, и вполне нормой считается там абуз того Table (что просто надстройка над хэштаблицей для удобства кодинга)
На самом деле, открою тайну, OrderIssue - тоже через if then нужно юзать, недавно столкнулся с таким неприятным багом, что дамми юнит (невидимка создаваемый на секунду), при попытке атаки по врагу, не просто не атаковал его когда тот неуязвимый, но и перекидывался на ближайшего соседа, что просто ломало всю концепцию спелла.
Выход: заюзал через if, при возвращении false - уничтожал Dummy очищал стэк.
Hexing, я выложил те константы, которые можно безопасно заменять на null. Если ты вместо PLAYER_COLOR_BLUE напишешь null, это будет интерпретировано как PLAYER_COLOR_RED.
Hexing, я выложил те константы, которые можно безопасно заменять на null. Если ты вместо PLAYER_COLOR_BLUE напишешь null, это будет интерпретировано как PLAYER_COLOR_RED.
а это где-то используется? в смысле лично я никогда не использую playercolor, так какая разница?