Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 28.10.2013, 19:28
Кандидат Javascript-наук
Отправить личное сообщение для koeshiro Посмотреть профиль Найти все сообщения от koeshiro
 
Регистрация: 05.12.2012
Сообщений: 125

А тут прикол в другом. Если не очистить set Interval функция будет себя вызывать вечно. По этому set Time Out написал я зря. И понимаю что нужно спать
Ответить с цитированием
  #12 (permalink)  
Старый 28.10.2013, 19:33
Профессор
Отправить личное сообщение для Dorian_bs Посмотреть профиль Найти все сообщения от Dorian_bs
 
Регистрация: 24.03.2011
Сообщений: 217

koeshiro, я понял)) Но Ваш пример отличается от моего только тем, что у меня пример выполняется бесконечно, а Вы останавливаете выполнение функции заданным числом "num" - количеством раз.
Меня ведь интересует именно сам цикл, а не его остановка)

А как же на счет setInterval? Почему бы не использовать эту функцию. Ведь ее природа основывается на предложенном Вами алгоритме
Ответить с цитированием
  #13 (permalink)  
Старый 28.10.2013, 19:41
Кандидат Javascript-наук
Отправить личное сообщение для koeshiro Посмотреть профиль Найти все сообщения от koeshiro
 
Регистрация: 05.12.2012
Сообщений: 125

Dorian_bs, ну таки я говорил. что к чему) В любом случае придёться делать что-то что не даст заполнить весь ОЗУ =)
Ответить с цитированием
  #14 (permalink)  
Старый 28.10.2013, 19:49
Профессор
Отправить личное сообщение для Dorian_bs Посмотреть профиль Найти все сообщения от Dorian_bs
 
Регистрация: 24.03.2011
Сообщений: 217

Я протестировал. Создал пустую страницу в Google Chrome.
В диспетчере задач хром показывает, что пустая страница есть 8000кб. памяти.

Если использовать цикл for in (i < 1000) в setInterval 200mls, потребление памяти возрастает до 13 324кб. Озу 90-94.
Если создать 1000 setInterval с 200mls - потребление памяти возрастает до 53 181кб. Озу 90-95.

В первом случае вкладку не удается просто перезагрузить. Все время ожидание.
Во втором - страница не так сильно глючит и с ней можно работать.

Даже не знаю, что все же лучше. Ибо ОЗУ жрет и там и там
Ответить с цитированием
  #15 (permalink)  
Старый 28.10.2013, 19:55
Профессор
Отправить личное сообщение для Dorian_bs Посмотреть профиль Найти все сообщения от Dorian_bs
 
Регистрация: 24.03.2011
Сообщений: 217

koeshiro, спасибо за помощь)

Товарищи, есть еще какие либо соображения по этому поводу?
Ответить с цитированием
  #16 (permalink)  
Старый 28.10.2013, 20:07
Кандидат Javascript-наук
Отправить личное сообщение для koeshiro Посмотреть профиль Найти все сообщения от koeshiro
 
Регистрация: 05.12.2012
Сообщений: 125

Dorian_bs,
Можно подчищать память в ходе выполнения.
Ответить с цитированием
  #17 (permalink)  
Старый 28.10.2013, 21:39
Профессор
Отправить личное сообщение для Dorian_bs Посмотреть профиль Найти все сообщения от Dorian_bs
 
Регистрация: 24.03.2011
Сообщений: 217

Что Вы имеете ввиду?
Ответить с цитированием
  #18 (permalink)  
Старый 28.10.2013, 22:13
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Dorian_bs
Например на сервере есть 1000 игроков. Каждые 0.2 сек нужно каждому отправить данные.

Что лучше?
события с сервера или WebSocket

обзор
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 28.10.2013 в 22:18.
Ответить с цитированием
  #19 (permalink)  
Старый 28.10.2013, 22:26
Профессор
Отправить личное сообщение для Dorian_bs Посмотреть профиль Найти все сообщения от Dorian_bs
 
Регистрация: 24.03.2011
Сообщений: 217

nerv_, спасибо, но вопрос не в этом. На данный момент я использую websocket nodejs. Суть вопроса не в реализации передачи данных, а в методе циклической отправки сформированного пакета

Последний раз редактировалось Dorian_bs, 28.10.2013 в 22:29.
Ответить с цитированием
  #20 (permalink)  
Старый 28.10.2013, 22:33
Профессор
Отправить личное сообщение для Dorian_bs Посмотреть профиль Найти все сообщения от Dorian_bs
 
Регистрация: 24.03.2011
Сообщений: 217

Вообщем я остановился на варианте создания setInterval для каждого игрока. Да, это будет есть память, но избавит от возможный коллизий в случае, если for не успеет обработать каждого игрока за интервал установленный в setInterval.

Всем огромное спасибо!)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
setInterval и глобальные переменные Почемучкин Events/DOM/Window 11 11.08.2012 14:44
один setInterval внутри другого setInterval-а dadli Общие вопросы Javascript 5 20.03.2012 18:16
setTimeout setInterval и др. mycoding Общие вопросы Javascript 6 28.10.2010 17:26
Что лучше, display или visibility? FirstFrost Общие вопросы Javascript 1 21.07.2010 05:42
Проблема в document.write при использовании setInterval() GOll Общие вопросы Javascript 21 06.10.2008 17:38