быстрее, еще быстрее, самый быстрый

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
Ответить
Аватара пользователя
совесть
Разработчик
Разработчик
Сообщения: 156
Зарегистрирован: 22 дек 2009, 23:58

быстрее, еще быстрее, самый быстрый

Сообщение совесть »

от сервака(в формате 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]

думаю, данный способ не очень быстр, хотелось бы узнать, как можно оптимизировать данные действия, ибо онлайн обещает быть большим.... очень большим...
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: быстрее, еще быстрее, самый быстрый

Сообщение bodnar »

он присылает всех кто онлайн в приложении? друзья не друзья не важно? какая в этом надобность?
Аватара пользователя
совесть
Разработчик
Разработчик
Сообщения: 156
Зарегистрирован: 22 дек 2009, 23:58

Re: быстрее, еще быстрее, самый быстрый

Сообщение совесть »

ибо онлайн обещает быть большим
соответственно, кто онлайн. да и есть ли разница? нужен быстрый способ...
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: быстрее, еще быстрее, самый быстрый

Сообщение Александр »

совесть
Нужно видеть всех сразу? Они же могут не поместиться на один экран.
Подгружай частями, сделай стрелку далее или автоматически подгружай по мере необходимости.
Аватара пользователя
boombast1k
Сообщения: 332
Зарегистрирован: 23 июн 2011, 07:31

Re: быстрее, еще быстрее, самый быстрый

Сообщение boombast1k »

Они же могут не поместиться на один экран.
Может он сделает прокрутку и все поместится :)
Аватара пользователя
совесть
Разработчик
Разработчик
Сообщения: 156
Зарегистрирован: 22 дек 2009, 23:58

Re: быстрее, еще быстрее, самый быстрый

Сообщение совесть »

на экране все не поместятся, но все же находятся в одной локации. а разделять локацию еще на подлокации не есть хорошо, ибо придется делать доп. загрузку, что, естественно, мало кому понравится. да и список кто онлайн нужен...
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: быстрее, еще быстрее, самый быстрый

Сообщение bodnar »

все что вне экрана надо удалять из списка отображения
потому как при объектах на сцене больше сотни fps начинает проседать
но удалив из списка отображения обрабатывать координаты хоть тысячи объектов никто не мешает, и если координаты попадают в зону видимого, то снова добавлять на сцену
Аватара пользователя
совесть
Разработчик
Разработчик
Сообщения: 156
Зарегистрирован: 22 дек 2009, 23:58

Re: быстрее, еще быстрее, самый быстрый

Сообщение совесть »

точно, про fps забыл совсем.

при visible = false, ничего ж не грузится?
sanych_dv
Разработчик
Разработчик
Сообщения: 550
Зарегистрирован: 29 апр 2011, 01:52

Re: быстрее, еще быстрее, самый быстрый

Сообщение 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 юзеров )
Ответить