Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   ОБЬЯВЛЯЕТСЯ КОНКУРС НА САМЫЙ ЛУЧШИЙ ОБРАТНЫЙ ТАЙМЕР (https://javascript.ru/forum/misc/24056-obyavlyaetsya-konkurs-na-samyjj-luchshijj-obratnyjj-tajjmer.html)

Livanderiaamarum 17.12.2011 00:29

Цитата:

Сообщение от trikadin (Сообщение 143644)
timePhone.

Я тогда логотипом могу посоветовать взять "текущие" часы Дали) Или надкушенные...

ну лого я думаю можно с викиликса спиздить ^__^ и немного переделать)

trikadin 17.12.2011 00:47

Цитата:

Сообщение от Livanderiaamarum
ну лого я думаю можно с викиликса спиздить ^__^ и немного переделать)

Оригинальным надо быть!

melky 17.12.2011 03:41

Цитата:

Сообщение от Aetae (Сообщение 143632)
Скажу одно: для нормального быстродейстия все таймеры должны выполняться одним единственным setTimeout'ом

меня тоже эта мысль посетила, но вскоре я увидел одну трудность, а через время и её решение.

дело в том, что время у таймеров не одно. такое легко прокатывает в анимировании - каждые 10мс (для поддержания фпс) проходиться по всем элементам анимирования выставлять им свойства. всё просто.

но тут такое не прокатывает. так как время у таймеров разное - к примеру,у одного 300мс, у второго - 350мс.

получается, что "главный таймер" (тот, что один) должен вызываться каждые 0 < x < 50мс(причем, x % 5 == 0) для того, чтобы попасть в таймер с 300мс и в таймер с 350 мс.

а что этот таймер будет делать во время того времени (к примеру, в 50,100,150мс после своего запуска), как он простаивает? вызываться каждые 50мс опять и проверять, нужен ли он кому?

этот последний абзац - брешь в стене производительности. пустой перевод процессорного времени. на двух таймерах этого не будет заметно, но в масштабах проекта (куча таймеров) это может выдать результат в виде тормозов или повышенной загруженности ЦП. как же это можно исправить? *ехидно хихикает*. не сказать чтобы я решил этот вопрос, но какие-то задатки есть :).

Цитата:

Сообщение от Livanderiaamarum (Сообщение 143639)
но я с вами согласен, сделаю массив таймеров в которых не указали ИНОЕ от секунды время калбаков, и буду его вызывать одним сеттаймаутом.

и много ли таких будет? вы после всех своих мыслей таймер рассматриваете только как "таймер обратного отсчёта"? да, я знаю, имя темы и все дела, но раз уж взялись за разработку темы, то что себя рамками ограничивать :)

nerv_ 17.12.2011 08:42

Цитата:

Сообщение от trikadin
Пиздец. Извините за мат)

Просто Livanderiaamarum взялся за самую сложную реализацию таймера, описанную Aetae здесь :)

Livanderiaamarum 17.12.2011 11:57

Цитата:

Сообщение от melky (Сообщение 143739)
вы после всех своих мыслей таймер рассматриваете только как "таймер обратного отсчёта"? да, я знаю, имя темы и все дела, но раз уж взялись за разработку темы, то что себя рамками ограничивать :)

конечно нет) по сути суть функции "выполнять что-то с переодичностью такой-то, столько-то времени, а в конце запустить то-то"

Livanderiaamarum 17.12.2011 12:04

Тут вот в чем дело, таймеры обновляются перед вызовами калбаков функцией .update() для каждого таймера. Нужно смотреть этой функцией сколько времени таймеру осталось до нуля. и если время меньше чем то через которое произойдет следующий update, то нужно поставить таймаут на это время и по его истечении остановить таймер выполнив функцию delete() и после выполнить калбак(передав в него 0 осталось, и X прошло), и выполнить функцию end() которая означает действие по исчетечении таймера.

_____
ДАЖЕ если человек укажет переодичность калбаков, а соотсветственно апдейтов 200 лет, а таймер поставит на 10 секунд то первый апдейт в любом случае срабатывает при запуске таймера)) ^__^

dmitriymar 17.12.2011 12:37

Livanderiaamarum,
у меня только один вопрос-а нахрена это нужно всем и тебе в частности,по твоему мнению?
у тебя опять приступ тщеславия?
хочешь повторить путь Solovei95? дак посмотри до чего это его довело;)

devote 17.12.2011 12:41

Цитата:

Сообщение от dmitriymar
хочешь повторить путь Solovei95? дак посмотри до чего это его довело

кстати Соловей вроде как в БЛОГ перебрался по совету трикадина =)

Livanderiaamarum 17.12.2011 13:11

Цитата:

Сообщение от dmitriymar (Сообщение 143838)
Livanderiaamarum,
у меня только один вопрос-а нахрена это нужно всем и тебе в частности,по твоему мнению?
у тебя опять приступ тщеславия?
хочешь повторить путь Solovei95? дак посмотри до чего это его довело;)

че ты несешь?

dmitriymar 17.12.2011 15:45

Цитата:

Сообщение от Livanderiaamarum
че ты несешь?

посмотри что ожидает если пойти по этой тропе:)
devote,
а толку? не думаю что там найдутся поклонники его таланта:)


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