Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2017.02.05;
Скачать: [xml.tar.bz2];

Вниз

Кеширование графиков большого объема   Найти похожие ветки 

 
noH@ker   (2009-04-22 19:54) [0]

Например... Если выдернуть выборки из "Wave" файла и отобразить (через лёгкую интерполяцию, чтоб не потерять пики) на контроле... Размер исходника (имеется ввиду выборок) очень большой и при обращении к нему для обработки (при прокрутке и масштабировании нужно изображение графика постоянно обновлять) проявляются большие накладные расходы (проц. время, обращение к жестаку)!

Вопрос: Можно ли устроить какое-нибудь кеширование (или что-нибудь, чтоб ускорить процесс) на подобии того, как это делает SoundForge и любой другой редактор звука?


 
Сергей М. ©   (2009-04-23 10:56) [1]


> очень большой


Например ?


 
noH@ker   (2009-04-23 20:12) [2]

Было около 100 мб. Представте себе масштабирование в реальном времени...
Интерполяция всего участка (все 100) и ещё отрисовка, если захочется просмотреть весь трэк.
У меня всё встанет!


 
Сергей М. ©   (2009-04-23 20:49) [3]

Видимо ты все неправильно делаешь - и интерполяцию и отрисовку. И кеширование здесь совершенно ни причем.


 
noH@ker ©   (2009-04-23 23:32) [4]


> Видимо ты все неправильно делаешь


Неправильно?? 20 мин аудио уместить в 320 пикселов по горизонтали сохранив все пики... Масштабировать на события прокрутки колеса мыши... Жёсткий не взлетит? В SoundForge это выполняется без труда! Или может неправильно мыслю на эту тему?


 
Сергей М. ©   (2009-04-24 08:11) [5]


> может неправильно мыслю на эту тему?


Мыслишь-то может и правильно, а вот реализуешь свои мысли в алгоритме наверняка неправильно, оттого и проблемы имеешь.

Для построения и визуализации интерполяционного графика с 320-ю отсчетами по шкале времени вовсе не обязательно считывать (да еще и кешировать) все значения из файла.


 
noH@ker ©   (2009-04-24 12:46) [6]


> вовсе не обязательно считывать (да еще и кешировать) все
> значения из файла.


Скажем... Может и да, но чтобы увидеть пики при больших масштабах скажем 200:1, нужно их сначала найти. Так? Таблица? Не совсем улавливаю суть процетированной фразы... Вы не могли бы объяснить.


 
Сергей М. ©   (2009-04-24 14:06) [7]


> чтобы увидеть пики при больших масштабах скажем 200:1, нужно
> их сначала найти. Так?


Так.

И вопрос сводится к тому, где и как оптимально (с т.з. эффективности индексированного доступа) разместить результаты предварительного поиска пиков, с тем чтобы при масштабировании не искать их всякий раз заново, обращаясь к оригинальному файлу на носителе, а получать инф-цию о пиках в заданном временном фрейме из этой самой "таблицы".


 
noH@ker ©   (2009-04-24 14:46) [8]

Ага! Спасибо! Значит мысль была ясна! Как мне кажется, в таблицу надо загонять пики только при достижении "критического" масштабирования. Т.е. где без таблицы надо было бы прочитать весь файл. Так чтоли... И не хранить те пики для тех масштабирований, где ещё жёсткий позволяет читать экие фремы с файла и быстро их выводить в граф. Или мне это только кажется? Было бы не плохо от мастеров услышать некий практический совет... (без укора)


 
noH@ker ©   (2009-04-24 17:37) [9]


> Сергей М. ©


Всё равно, спасибо!!!


 
Sapersky   (2009-04-24 18:04) [10]

Ну как действуют продвинутые картиночные вьюеры вроде AcdSee - читают сначала уменьшенную в 2,4,8 раз копию Jpeg под размер экрана, при необходимости подгружают копию нужного масштаба... данные у них 2D, а не 1D, но ничто не мешает использовать тот же принцип - читать файл с определённым шагом в зависимости от тек. степени масштабирования (разве что экономия памяти с 1D меньше). Точнее, прочитать один раз - сложить в кэш (благо "прореженная" копия файла весит относительно немного).
Что касается пиков... ну, найти их заранее, прописать в таблицу и использовать "адаптивный" шаг чтения файла, там где пики - читать чаще... хотя пересчитывать всё это дело в корректный масштаб при выводе на экран будет довольно муторно.



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2017.02.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.001 c
1-1348130067
ТС
2012-09-20 12:34
2017.02.05
Указатель на шаблонный тип в шаблонном интерфейсе


11-1245091617
Lirk
2009-06-15 22:46
2017.02.05
Длина потока...


8-1240415648
noH@ker
2009-04-22 19:54
2017.02.05
Кеширование графиков большого объема


1-1347622892
Docenko
2012-09-14 15:41
2017.02.05
Как использовать TIWExchangeBar (TMS IW)


2-1433112204
Германн
2015-06-01 01:43
2017.02.05
IPersistFile::Save method





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский