![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 14.12.2009
Сообщений: 716
|
![]()
Вообщем использую в проекте библиотеку TagLib, но возникла огромная проблема с одной из ее функций такой как TagLib.File.Create. Добавление элементов в какой либо из списков как (ListView, ListBox) при ее использование стало очень медленным. Например, 16гб без этой функции заполняются примерно в несколько секунд 2-4сек максимум а при ее использование время доходит почти до минуты. Элементы добавляю через ObservableCollection.
Я думаю идея понятно, мой ListBox или ListView получает информацию о песни в момент добавления. Кто может подсказать как это дело сделать быстрее? как отпимизировать? За ранее благодарен за любую помощь. Код:
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 15.12.2010
Сообщений: 398
|
![]()
UI как я понял тормозит ?.. Может в отдельный поток засунуть ? В Dispatcher формы к примеру эти подсчеты.. Либо в студии профайлер производительности есть им могёшь поглядеть что отъедает много времени..
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 14.12.2009
Сообщений: 716
|
![]()
Хм, скорее всего решение этому нет, точнее оно есть но оно немного с другим подходом. Загружать в ListView в моем случае имя файла это как TrackTitle получается, ну и отдельно в потоке потихоньку грузить уже остальную информацию о песнях с помощью TagLib. После полной загрузки обновить ObservableCollection и соответственно ListView. Такой подход я заметил в Aimp. Если у кого есть другие варианты как можно и нужно сделать чтобы было еще быстрее, с удовольствием выслушаю.
TO Guy Не не не, загружаю элементы-то я в потоке просто сама функция сильно тяжелая так как она трек грузит в оперативную память поэтому так получается. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 15.12.2010
Сообщений: 398
|
![]()
Понятна.. Тогда попробовать Студийным профайлером поглядеть что тормозит и что проотимизировать сам бог велел...
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В чём разница между unit, header file, cpp file? | TwiX | Общие вопросы C/C++ | 6 | 29.04.2012 19:49 |
Could not create output file project1.exe | 8adim | Общие вопросы Delphi | 7 | 24.03.2011 22:01 |
Could not create output file | Марк Охман | Общие вопросы Delphi | 10 | 09.12.2010 17:23 |
Производительность БД | NARKOM | Софт | 1 | 02.06.2010 13:51 |
Помогите с глюками Taglib в Visual Studio | SynTronic | Visual C++ | 9 | 14.10.2009 13:48 |