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

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

Ответ
 
YellowStar
poon
offline
Опыт: 15,144
Активность:
Опять вопрос...
Вопрос банальный но какой минимальное значение PolledWait обрабатывается коректно в том смысле что где то слышал что call PolledWait( 0.01 ) обрабатывает как call PolledWait( 0.10 )
Старый 15.03.2008, 08:41
J
expert
offline
Опыт: 48,447
Активность:
минимальный слип в варе 0,125
Старый 15.03.2008, 09:56
YellowStar
poon
offline
Опыт: 15,144
Активность:
А если таймерами? 0.01
Старый 15.03.2008, 09:59
J
expert
offline
Опыт: 48,447
Активность:
это зависит от компа т.е. чем больше таймер выполняет действий тем он медленее работает чем нужно, вообще он может достигать 0,0001

Jon добавил:
но при таких высоких частотах таймер отщитывает время _очень_ неправельно, т.е. результат случаен... все зависит опятьжетаки от компа
Старый 15.03.2008, 10:16
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
Цитата:
Сообщение от NaRaYaN
call PolledWait( 0.01 ) обрабатывает как call PolledWait( 0.10 )

Не совсем так, но мысль по сути верна) Смотрим:
Код:
if (timeRemaining > bj_POLLED_WAIT_SKIP_THRESHOLD) then
  call TriggerSleepAction(0.1 * timeRemaining)
else
  call TriggerSleepAction(bj_POLLED_WAIT_INTERVAL)
endif

Первая bj-константа = 2.00, вторая - 0.10. Луп, в котором лежит этот код, выполнится 1 раз и при проходе через луп будет выполнено TriggerSleepAction(0.1). Но времени до окончания цикла пройдет немного больше, т.к. еще проверка идет.
Кстати, я где-то в этом разделе видел цифры 0.186 для PolledWait, 0.0125 для TriggerSleepAction (имею в виду min значение)
Старый 15.03.2008, 16:24
J
expert
offline
Опыт: 48,447
Активность:
Цитата:
0.0125 для TriggerSleepAction

уж слишком мало... неошибаешся?
Старый 15.03.2008, 16:31
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
O'reely? А 0.125 - многовато, тем более в том же поллед вейте используется слип с параметром 0.1
Я так понимаю, что периоды меньше 0.0125 некорректно высчитываются. Но, в принципе, меньшие значения не нужны. PolledWait неточная функция, в основном из-за цикла со слипами, и точность зависит от нагруженности в данный момент времени.
Старый 15.03.2008, 17:04
J
expert
offline
Опыт: 48,447
Активность:
если бы TriggerSleepAction мог отсчитывать по 0,0125 то можно было бы плавное движение юнита делать просто в циклах
Старый 15.03.2008, 17:10
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
Jon, в циклах то он и не работает нормально.. Вот выписать в триггер последовательность действий ("раскрыть" цикл) вот тогда мб и будет что надо
Старый 15.03.2008, 17:12
J
expert
offline
Опыт: 48,447
Активность:
FellGuard а вот и нет
Старый 15.03.2008, 17:17
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
очень убедительно выглядит заявление а вот и нет.. ну да ладно, с нетерпением жду конечное минимальное значение корректно выполняющегося вэйта ^_^ + двигать юнита это тебе не семечки лузгать. Вот попробуй прибавлять к интегеру по единичке на итерации и посчитай, за сколько реальных секунд, например, при 0.0125 таймауте инетегер примет значение 240 со стартового нуля) отставание думаю посчитать несложно..
Старый 15.03.2008, 17:21
J
expert
offline
Опыт: 48,447
Активность:
Цитата:
отставание думаю посчитать несложно..

отставаниье? да в ~10 раз будет отстовать больше чем нужно...
чет какието вопросы детские, давно пора знатьчто ваит неработает меньше 0,1, а точнее 0,125
Старый 15.03.2008, 17:25
Ответ

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

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

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

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



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