Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Как в Timeout сделать delay меньше 1 мс (https://javascript.ru/forum/css-html/8616-kak-v-timeout-sdelat-delay-menshe-1-ms.html)

alex90 05.04.2010 08:07

Как в Timeout сделать delay меньше 1 мс
 
Вот такая задача
я пишу setTimeout("pav()",0.01); - все равно вычисляет как будто 1 мс.

Aetae 05.04.2010 09:06

А зачем такая мега точность?)
Всё равно это бессмысленно, ибо и 1мс, далеко не всегда равен 1мс при загруженности компьютера...

Айба 05.04.2010 09:27

никак нельзя этого сделать, delay устанавливается в мс.
https://developer.mozilla.org/en/DOM/window.setTimeout

Kolyaj 05.04.2010 10:33

Цитата:

Сообщение от Aetae
ибо и 1мс, далеко не всегда равен 1мс при загруженности компьютера...

Никогда не равен. Во всех браузерах, кроме хрома, таймаут ограничивается 10 мс, в хроме порядка 4 вроде заявлено.

Вообще не понятно, конечно, зачем такая задержка, без неё тогда уж то же самое будет.

alex90 05.04.2010 10:54

Это не точность, просто мне нужна большая скорость вычислений.
Да в хроме быстрее чем в FF но процессор загружен только на 70%, нельзя убрать ограничение ?

Kolyaj 05.04.2010 10:55

Вам кроссбраузерное решение нужно?

alex90 05.04.2010 11:04

нет. достаточно чтобы в одном браузере работало быстро

Kolyaj 05.04.2010 11:08

Насколько я понял, setTimeout вам нужен, чтобы браузер не зависал?

Вариант 1: отказываемся от setTimeout.
Вариант 2: эмулируем более быстрый setTimeout.

subzey 05.04.2010 11:10

Под windows у Вас не получится сделать атомные часы, увы. Минимальный квант времени в этой ОС не может быть меньше 10 мсек.
ссылка

При этом поведение браузеров касаемо этого разнится. По крайней мере, несколько лет назад, если задавать выполнение через 10 мсек, во всех браузерах, кроме Safari (Гуглобраузера тогда не было), функция вызывалась через 18 мсек, а в Safari — через 0 мсек. :)

UPD: Если Вы делаете анимацию, то задавать таймаут меньше 30 мсек (33 FPS) смысла не имеет, иначе постоянные reflow могут сильно загрузить проц.

alex90 05.04.2010 11:33

нет не анимация. у меня идут числовые вычисления.
То есть в Safari 0 мс ?


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