Страница 1 из 1
быстрее, еще быстрее, самый быстрый
Добавлено: 08 янв 2012, 01:29
совесть
от сервака(в формате json) приходит список юзверей такого вида:
{"type":"users","users_array":[{"id":some_id,"x":some_int,"y":some_int,"nick":"some_nick"}]}
в данный момент, всех юзверей генерирую таким образом:
Код: Выделить всё
var Arr:Array = new Array(data.users_array);for(var i:uint=0; i<Arr.length; ++i) { USERS[Arr[i].id] = Arr[i];}
потом периодически вызываю юзверей USERS[some_id]
думаю, данный способ не очень быстр, хотелось бы узнать, как можно оптимизировать данные действия, ибо онлайн обещает быть большим.... очень большим...
Re: быстрее, еще быстрее, самый быстрый
Добавлено: 08 янв 2012, 07:45
bodnar
он присылает всех кто онлайн в приложении? друзья не друзья не важно? какая в этом надобность?
Re: быстрее, еще быстрее, самый быстрый
Добавлено: 08 янв 2012, 23:59
совесть
ибо онлайн обещает быть большим
соответственно, кто онлайн. да и есть ли разница? нужен быстрый способ...
Re: быстрее, еще быстрее, самый быстрый
Добавлено: 09 янв 2012, 16:14
Александр
совесть
Нужно видеть всех сразу? Они же могут не поместиться на один экран.
Подгружай частями, сделай стрелку далее или автоматически подгружай по мере необходимости.
Re: быстрее, еще быстрее, самый быстрый
Добавлено: 09 янв 2012, 16:19
boombast1k
Они же могут не поместиться на один экран.
Может он сделает прокрутку и все поместится

Re: быстрее, еще быстрее, самый быстрый
Добавлено: 09 янв 2012, 19:25
совесть
на экране все не поместятся, но все же находятся в одной локации. а разделять локацию еще на подлокации не есть хорошо, ибо придется делать доп. загрузку, что, естественно, мало кому понравится. да и список кто онлайн нужен...
Re: быстрее, еще быстрее, самый быстрый
Добавлено: 10 янв 2012, 06:25
bodnar
все что вне экрана надо удалять из списка отображения
потому как при объектах на сцене больше сотни fps начинает проседать
но удалив из списка отображения обрабатывать координаты хоть тысячи объектов никто не мешает, и если координаты попадают в зону видимого, то снова добавлять на сцену
Re: быстрее, еще быстрее, самый быстрый
Добавлено: 14 янв 2012, 07:43
совесть
точно, про fps забыл совсем.
при visible = false, ничего ж не грузится?
Re: быстрее, еще быстрее, самый быстрый
Добавлено: 28 янв 2012, 09:59
sanych_dv
Еще быстрее:
1. Если свой сервер, жать ответ таким образом: base64_encode( gzcompress ( $myJSON, 9) );
2. Распаковываем в AS3: JSON.decode ( uncompress ("ответ сервера" ) - в данном случае JSON - из вконтактовской библиотеки, для разжатия пользую org.creativecommons.formatter.Base64 и GZIPBytesEncoder
3. Если список большой , то в дальнейших движениях, наверное, разумнее будет использовать типизированный список Vector, а не массив.
4. Отображение списка - старый добрый fl.controls.Tilelist - там хоть 100500 юзеров )