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 11:34

Цитата:

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

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

А можно русский вариант эмуляции setTimeout?

x-yuri 05.04.2010 12:15

на 1С что ли? :) В противном случае Google Translate или просто "google it"

alex90 05.04.2010 12:19

Цитата:

Сообщение от x-yuri (Сообщение 50116)
на 1С что ли? :) В противном случае Google Translate или просто "google it"

нет... я просто не разберусь в этой функции

subzey 05.04.2010 12:34

alex90,
Вы можете задавать просто 0 мс, и тогда предупреждений «Этот скрипт тормозит работу» не будет.

alex90 05.04.2010 13:03

Цитата:

Сообщение от subzey (Сообщение 50120)
alex90,
Вы можете задавать просто 0 мс, и тогда предупреждений «Этот скрипт тормозит работу» не будет.

а компьютер при этом не зависнет?

Skipp 05.04.2010 13:41

а зачем интервал, если можно просто циклом сделать? По идее это будет быстрее, если код функции не нагромаждён. А насчёт зависания, в любом случаи, компьютер отойдёт при завершении цикла, если конечно он у тебя завершается. И вообще есть другие языки программирования, которыми можно это сделать намного удобнее)

alex90 05.04.2010 13:44

Цитата:

Сообщение от Skipp (Сообщение 50134)
а зачем интервал, если можно просто циклом сделать? По идее это будет быстрее, если код функции не нагромаждён. А насчёт зависания, в любом случаи, компьютер отойдёт при завершении цикла, если конечно он у тебя завершается. И вообще есть другие языки программирования, которыми можно это сделать намного удобнее)

умное решение вы подсказали, попробую его реализовать

subzey 05.04.2010 14:37

Цитата:

Сообщение от alex90
а компьютер при этом не зависнет?

Нет. Яваскрипт однопоточный. Просто задавайте в конце одной итерации выполнение через 0 мс другой итерации.

Скажу честно, таким образом работали около 15 минут матричные вычисления, и ни одного сообщения «Этот скрипт работает слишком долго».

Это был дипломный проект, не мой, правда, распределенные вычисления. Небольшой скрипт на php раздавал задания любому количеству клиентов, а после этого собирал значения. Причем из клиентской части нужен был просто любой браузер.

Подобным образом, впрочем, можно заставить бесцельно бродящих по сети в поисках прона людей тратить свои процессорные мощности на что-нибудь полезное, типа вычисления простых чисел Мерсенна ;)

alex90 05.04.2010 15:12

Цитата:

Сообщение от subzey (Сообщение 50141)
Нет. Яваскрипт однопоточный. Просто задавайте в конце одной итерации выполнение через 0 мс другой итерации.

Скажу честно, таким образом работали около 15 минут матричные вычисления, и ни одного сообщения «Этот скрипт работает слишком долго».

Это был дипломный проект, не мой, правда, распределенные вычисления. Небольшой скрипт на php раздавал задания любому количеству клиентов, а после этого собирал значения. Причем из клиентской части нужен был просто любой браузер.

Подобным образом, впрочем, можно заставить бесцельно бродящих по сети в поисках прона людей тратить свои процессорные мощности на что-нибудь полезное, типа вычисления простых чисел Мерсенна ;)

спасибо, работает

x-yuri 05.04.2010 15:26

Цитата:

Сообщение от subzey
Подобным образом, впрочем, можно заставить бесцельно бродящих по сети в поисках прона людей тратить свои процессорные мощности на что-нибудь полезное, типа вычисления простых чисел Мерсенна

вы все еще ...? Мы идем к вам :lol:


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