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

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

Закрытая тема
 
DragonSpirit
у - уходи
offline
Опыт: 22,625
Активность:
Что быстрее
Собственно сабж:
Что будет быстрее?
» такой код

Код:
private struct data
 real f
 real x
 real y
endstruct


сама функция:

Код:
local data D = data.create()
    set D.f = GetUnitFacing(Mover)*.01745
    set D.x = GetUnitX(Mover)
    set D.y = GetUnitY(Mover)
    call SetUnitX(Mover, D.x+10.*Cos(10.))
    call SetUnitY(Mover, D.y+10.*Sin(10.))
    call SetUnitPosition(Mover, D.x+Speed*Cos(D.f), D.y+Speed*Sin(D.f))
    call data.destroy(D)


Или
» это

Код:
local real f = GetUnitFacing(mover)*.01745
    local real x = GetUnitX(mover)
    local real y = GetUnitY(mover)
    call SetUnitX(mover, x+10*Cos(10))
    call SetUnitY(mover, y+10*Sin(10))
    call SetUnitPosition(mover, x+Speed*Cos(f), y+Speed*Sin(f))


Заранее благодарю
Старый 16.07.2009, 20:11
J
expert
offline
Опыт: 48,447
Активность:
первое, потому что в этом случае не тратится время на объявление переменных, но разница очень незначительна

J добавил:
и ты уж реши для себя что использовать SetUnitX/Y() или SetUnitPosition()

J добавил:
ой нет, я не заметил сначала, быстрее второе, потому что ты структуру создаешь и удаляешь, вот если у тебя с самого начала структура есть, или ты передаешь ее параметром, тогда первое быстрее
Старый 16.07.2009, 20:17
DragonSpirit
у - уходи
offline
Опыт: 22,625
Активность:
J ясно,премного благодарен
Цитата:
и ты уж реши для себя что использовать SetUnitX/Y() или SetUnitPosition()

хмм...мне такой вариант кода давал ADOLF для движение таймером...

DragonSpirit добавил:
темку можно клозить
Цитата:
ой нет, я не заметил сначала, быстрее второе, потому что ты структуру создаешь и удаляешь, вот если у тебя с самого начала структура есть, или ты передаешь ее параметром, тогда первое быстрее

т.е создавать глобалку типа структура?
Старый 16.07.2009, 20:21
J
expert
offline
Опыт: 48,447
Активность:
он не мог тебе такого дать, скорее всего там были строчки SetUnitX/Y(), а SetUnitPosition() была закоментирована

J добавил:
я бы не советовал заниматься подобной оптимизацией, по сравнению с другими не оптимальностями, это в тысячи раз незначительнее
Старый 16.07.2009, 20:23
DragonSpirit
у - уходи
offline
Опыт: 22,625
Активность:
J да ты прав,я проглядел
вот пост ADOLF`a
можно темку клозить

DragonSpirit добавил:
тока что из них быстрее?
SetUnitX/Y() или SetUnitPosition()
Старый 16.07.2009, 20:26
J
expert
offline
Опыт: 48,447
Активность:
первое быстрее раз в 10-15
Старый 16.07.2009, 20:29
Лось

offline
Опыт: 7,223
Активность:
СетХУ тока если Х или У за пределами карты то ирор, так што надо проверку.
Старый 16.07.2009, 20:29
J
expert
offline
Опыт: 48,447
Активность:
достаточно событие на юнит вышел за пределы региона, где регион вся карта
да и при аккуратном использовании, ни событие ни периодическая проверка не понадобятся
Старый 16.07.2009, 20:30
DragonSpirit
у - уходи
offline
Опыт: 22,625
Активность:
J спасибо за подробное разъяснение =)
в 3-й раз говорю - всем спасибо,темку можно клозить
Старый 16.07.2009, 20:32
Закрытая тема

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

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

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

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



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