Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 31.01.2011, 16:21
Интересующийся
Отправить личное сообщение для namo86 Посмотреть профиль Найти все сообщения от namo86
 
Регистрация: 18.11.2010
Сообщений: 19

Сообщение от x-yuri Посмотреть сообщение
namo86, начать стоит с того, зачем столько объектов на карте? Может их можно не все сразу выводить? Расскажи поподробнее
Задача состоит в том, чтобы вывести данные из GPX файла, например такого: http://www.gpslib.ru/tracks/info/130..._14-35-57.html ... Точек: 50357 ... Основная часть данных это координаты трека (google.maps.Polyline), код получился примерно такой:

var point = new google.maps.LatLng
(
	_this.trackData.points[progressCurent].gps.lat,
	_this.trackData.points[progressCurent].gps.lng
);

if( !_this.hasOwnProperty('googleMapTrackPath') )
{
	_this.googleMapTrack = new google.maps.Polyline
	({
		strokeColor: '#2a72a8',
		strokeOpacity: 0.5,
		strokeWeight: 5,
		map: _this.googleMap
	});

	_this.googleMapTrackPath = _this.googleMapTrack.getPath();
}

_this.googleMapTrackPath.push(point)


Как уже писал, если не использовать setTimeout, при выводе браузер просто зависает, невозможно понять, работает он или висит и сколько он ещё будет грузиться. С помощью setTimeout проблема полностью решается, единственный нюанс это время загрузки, но и это думаю не такая уж большая проблема, самый оптимальный вариант как мне видится, увеличить количество обрабатываемых точек за один выполнение функции setTimeout, можно даже подумать насчет автобалансировщика нагрузки, с помощью пресловутой функции (new Date()).getTime(); и в случае быстрого выполнения одного цикла, добавлять максимальное количество обрабатываемых точек.

Кстати если есть материалы по этому поводу, былобы любопытно почитать.
Ответить с цитированием
  #12 (permalink)  
Старый 01.02.2011, 07:05
Аспирант
Отправить личное сообщение для person Посмотреть профиль Найти все сообщения от person
 
Регистрация: 27.06.2010
Сообщений: 49

Сообщение от Kolyaj
В IE, например, минимально возможная задержка для setTimeout -- 15 мс, в Fx -- 11 мс
На моей машине 6 осёл видит разницу между 10мс и 11мс, а вот ниже 10 уже всё одинаково.
Это что, зависит от конкретной машины?
Ответить с цитированием
  #13 (permalink)  
Старый 01.02.2011, 09:16
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

person,
что значит видит?
Ответить с цитированием
  #14 (permalink)  
Старый 02.02.2011, 06:42
Аспирант
Отправить личное сообщение для person Посмотреть профиль Найти все сообщения от person
 
Регистрация: 27.06.2010
Сообщений: 49

Ты говоришь меньше 15 не понимает, а я говорю у меня понимает.
10 и 11 это разное время, а всё что меньше 10, уже одинаково и всегда равняется 10.
Ответить с цитированием
  #15 (permalink)  
Старый 02.02.2011, 08:25
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от person
Ты говоришь меньше 15 не понимает
Понимать-то понимает. Но задержку делает в среднем 15мс, когда-то больше, когда-то меньше.
Ответить с цитированием
  #16 (permalink)  
Старый 02.02.2011, 08:41
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

person, еще раз, ответ на вопрос "что значит видит?" не прозвучал. Например, один из вариантов определения такой:
var i = 0, d = new Date(), N = 1000;
(function() {
    if (i < N) {
        i++;
        setTimeout(arguments.callee, 1);
    } else {
        alert((new Date() - d) / N);
    }
})();

а ты как определяешь?
Ответить с цитированием
  #17 (permalink)  
Старый 02.02.2011, 09:01
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

хотя результаты у меня примерно такие: opera - 1, chrome - 4, ff - 10, ie6 - 10 (а сначала -4 выдал )

по поводу анимации в фреймворках: jQuery и mootools используют setInterval для анимации, причем первый с шагом 13ms, а второй где-то 16ms (60 fps)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Как работает обработчик onMouseMove() bayah Общие вопросы Javascript 3 29.04.2010 14:36
Как завершить Settimeout() ? libinstyle Events/DOM/Window 7 29.03.2010 12:40
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 23:20
Не могу понять как работает jQuery kostiaGt jQuery 2 20.07.2008 08:42