Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.02.2011, 02:25
.true вне форума Посмотреть профиль Отправить личное сообщение для .true Посетить домашнюю страницу .true Найти все сообщения от .true
  № 1  
Ответить с цитированием
.true
 
Аватар для .true

Регистрация: Oct 2009
Адрес: Москва
Сообщений: 73
Отправить сообщение для .true с помощью ICQ
По умолчанию Передача большого кол-ва данных (даты и числа) в ролик, рисующий графики

Уважаемые коллеги!
Столкнулся с такой проблемой:
Есть ролик, который рисует график (x - дата; y - изменяющиеся параметры, фактически целые числа).
При движении колесиком мыши график сжимается/растягивается по абсциссе(дате).
Минимальный промежуток - час, максимальный - года.

Проблема заключается в том, как передать данные для отрисовки в ролик.
Так как минимальная единица измерения час - то изначально ролик должен загрузить все данные по часам, а потом сам рассчитывать даты для отобрадения и ширину графика.

Изначально пришел в голову такой xml:
Код:
<stats>
    <year number=2011>
        <month number=1>
            <day number=2>
                <hour number=14>
                    <guests>14</guests>
                    <members>25</members>
                </hour>
            </day>
        </month>
    </year>    
</stats>
Это user-friendly, что очень хотелось бы. Но в году 8760 часов, это получается безумно громоздко.
Далее, возникла идея использовать xml такого вида:
Код:
<stats>
    <hour timestamp=xxxxxxx>
        <guests>24</guests>
        <members>50</members>
    </hour>
</stats>
он будет занимать чуть меньше места, но все равно будет громоздким.
Далее, начал думать в сторону JSON, но оказалось что во Flash Player нет нативной поддержки этой технологии (как работают библиотеки third-party я, к сожалению, не знаю)

Предпоследний вариант - за обычной строкой с разделителями. Занимать будет меньше места - но чтото мне подсказывает что на парсинг будет уходить уйма времени.

Последний вариант - передавать переменные прямо со страницы. но это около 300 кб только на чистой странице!!

Вероятно, кто-то уже сталкивался с похожей задачей или просто сможет дать совет основываясь на опыте, какой способ лучше выбрать?
__________________
Если ты не часть решения, тогда ты – часть проблемы.


Последний раз редактировалось .true; 03.02.2011 в 02:41.
Старый 03.02.2011, 02:49
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Я бы сократил до
Код:
<stats>
    <record timestamp="xxxxxxx" guests="24" members="50"/>
</stats>
Никогда не понимал мании писать данные в отдельных нодах, если на то нет необходимости.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 03.02.2011, 11:36
  № 3  
Ответить с цитированием
Xero201
Guest

Сообщений: n/a
если заносить информацию в один узел - получится большой избыток информации, что может привести ко всякими бякам (аномалиям), при добавлении, изменении и удалении узлов. + возможно более длительная обработка, т.к. у каждого узла каждый раз узнавать и год, и месяц, и день:
Если это не устраивает можно делать так:
&....& - day, а номер пары && по счету - day number
xx,xx - guests, members, а номер пары по счету = hours number
если в определенный момент статистики не было можно записывать пустые пары && или ||
Код:
<stats>
    <year number=2011>
        <month info="&0,0|1,1|2,2|3,3|4,4|5,5|6,6|7,7|8,8|9,9|10,10|11,11|12,12|13,13|14,25|15,15|16,16|17,17|18,18|19,19|20,20|21,21|22,22|23,23|&&....&&....&" />
        </month>
    </year>    
</stats>
или при желании еще сильнее, заменив месяцы каким-нибудь ##, а года ~~, но это уже перебор)


Последний раз редактировалось Xero201; 03.02.2011 в 16:27. Причина: немного подправил
Старый 03.02.2011, 09:30
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 4  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Или уж совсем, если данных ООООчень много
Код AS3:
<s>
    <r t="xxxxxxx" g="24" m="50"/>
</s>
Добавлено через 8 минут
или так :о)
Код AS3:
<s>
    <r d="xxxxxxx,24,50"/>
</s>
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.


Последний раз редактировалось GBee; 03.02.2011 в 09:38.
Старый 03.02.2011, 11:06
easy.proger вне форума Посмотреть профиль Отправить личное сообщение для easy.proger Найти все сообщения от easy.proger
  № 5  
Ответить с цитированием
easy.proger

Регистрация: Jun 2010
Адрес: somewhere in the universe
Сообщений: 195
или так
Цитата:
<s data="xxxxxxx,24,50|yyyyyy,25,51|zzzzzzz,26,52"/>

Старый 03.02.2011, 11:13
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 6  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Или...
Код:
<s d='xxxxxxx,24,50|yyyyyy,25,51|zzzzzzz,26,52'>
__________________
hauts.ru

Старый 03.02.2011, 11:28
easy.proger вне форума Посмотреть профиль Отправить личное сообщение для easy.proger Найти все сообщения от easy.proger
  № 7  
Ответить с цитированием
easy.proger

Регистрация: Jun 2010
Адрес: somewhere in the universe
Сообщений: 195
Или так
Цитата:
header
начальный timeStamp
Data
разница между стартовым timeStamp и след timeStamp,24,50
разница между стартовым timeStamp и след timeStamp,25,51
разница между стартовым timeStamp и след timeStamp,26,52
etc…
И хранить это все в бинарнике %)

Это !user-friendly, но не кто не мешает написать утилиту просмотра таких данных )


Последний раз редактировалось easy.proger; 03.02.2011 в 11:35.
Старый 03.02.2011, 16:24
.true вне форума Посмотреть профиль Отправить личное сообщение для .true Посетить домашнюю страницу .true Найти все сообщения от .true
  № 8  
Ответить с цитированием
.true
 
Аватар для .true

Регистрация: Oct 2009
Адрес: Москва
Сообщений: 73
Отправить сообщение для .true с помощью ICQ
Пожалуй, пока остановлюсь на варианте iNils, в любом случае из файла xml можно удалить лишние пробелы/переносы строк. Если все-таки будет тормозить то буду думать дальше.

Тут же следом возникает вопрос о том, сколько времени уйдет на парсинг этой кучи... и отрисовку.. но это позже))
большое спасибо за советы и участие!
__________________
Если ты не часть решения, тогда ты – часть проблемы.

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:40.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:40.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.