Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Кеширование огромных графиков синусоидальных сигна


Автор: noHaker 24.4.2009, 22:08
Драсте, господа!  smile 

Большой график из выборок цифрового сигнала (более 100) масштабируется с горем пополам! Жесткий встаёт на 3,671 сек при событии масштабирования. Есть ли способ как-то кешировать данные (как думается пики)? Помогите, мозг и гугл ничего не дают! smile 

Автор: Alexeis 25.4.2009, 12:32
Цитата(noHaker @  24.4.2009,  21:08 Найти цитируемый пост)
Большой график из выборок цифрового сигнала (более 100) масштабируется с горем пополам!

  Более 100 это не много, много когда более 100 тысяч. 
Очевидно ошибка в 17й строке.

Автор: noHaker 26.4.2009, 13:31
Соррри... smile   Более 100 тыс. А быть точнее более 100 мб выборок! smile 

Автор: Alexeis 26.4.2009, 21:44
  Тока зачем все выводить сразу? Ну или доставать по блочно и проредить. Например в диапазоне искать минимум и максимум. Хотя 3 сек для такого объема вполне приличное время. Прогресбар поставить да и все.

Автор: Dimonka2 29.4.2009, 12:46
noHaker, 
100 мб выборок не несут совершеноо никакой информации для пользователя на экране.

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

Допустим разбиваешь на фреймы по 500 сэмплов и для них считешь min/max/average. При увеличении графика пользователям до определённого масштаба, когда в одну выборку надо помещать меньше 500 семплов начинаешь подгружать данные из оригинала и обрабатывать их для выбранного видимого участка.

Примерно так. 
Не звуковой редкатор случаем делаешь? smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)