C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Как ускорить вывод графики JPG?, Нужна замена TImage
Smart
Отправлено: 29.11.2005, 21:05


Дежурный стрелочник

Группа: Участник
Сообщений: 35



Здравствуйте, уважаемые!
Использую компонент TImage для вывода графики: файлов исключительно *.jpg.
Проблема в "тормознутости" стандартного компонента: даже на небольших файлах в 300кб задержка вывода на экран весьма заметна.
Нет ли в природе альтернативного и более шустрого компонента для работы с JPEG-графикой?
Спасибо!
Grigoriy
Отправлено: 30.11.2005, 07:35


Мастер участка

Группа: Участник
Сообщений: 381



Самый быстрый вывод графики будет тогда, когда размеры компонента TImage такие же, как и самого изображения.
И вообще скорость вывода изображения в TImage зависит еще от значений в свойствах компонента (свойство определяющее качество выводимого изображения). Если я не забыл, есть одно из свойств, у которого может быть два значения — выводить изображения агрессивно или качественно.
Smart
Отправлено: 30.11.2005, 18:47


Дежурный стрелочник

Группа: Участник
Сообщений: 35



Уравнивать для ускорения размеры фото и TImage — не подходит, по тех.заданию все выводимые фото масштабируются в зависимости от размеров главной формы и экрана.
Выводить на экран некачественную картинку в угоду скорости — тоже плохо.
Вот, например, движок ACDSee очень даже шустро работает даже на больших изображениях...
Smart
Отправлено: 01.12.2005, 16:28


Дежурный стрелочник

Группа: Участник
Сообщений: 35



UP!
Grigoriy
Отправлено: 01.12.2005, 16:52


Мастер участка

Группа: Участник
Сообщений: 381



QUOTE (Smart @ 29/11/2005, 21:05)

Проблема в "тормознутости" стандартного компонента: даже на небольших файлах в 300кб задержка вывода на экран весьма заметна.

А с какой частотой Вам нужно выводить рисунки на 300 Кбайт ?
Георгий
Отправлено: 01.12.2005, 21:46


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



QUOTE (Smart @ 30/11/2005, 19:47)
Уравнивать для ускорения размеры фото и TImage — не подходит, по тех.заданию все выводимые фото масштабируются в зависимости от размеров главной формы и экрана.
Выводить на экран некачественную картинку в угоду скорости — тоже плохо.
Вот, например, движок ACDSee очень даже шустро работает даже на больших изображениях...

всякие просмотривальщики подгружают следующую картинку, пока ты смотришь предыдущую вот и получается иллюзия мнговенного открытия
Gedeon
Отправлено: 02.12.2005, 09:36


Ветеран

Группа: Модератор
Сообщений: 1742



QUOTE (Георгий @ 01/12/2005, 21:46)
QUOTE (Smart @ 30/11/2005, 19:47)
Уравнивать для ускорения размеры фото и TImage — не подходит, по тех.заданию все выводимые фото масштабируются в зависимости от размеров главной формы и экрана.
Выводить на экран некачественную картинку в угоду скорости — тоже плохо.
Вот, например, движок ACDSee очень даже шустро работает даже на больших изображениях...

всякие просмотривальщики подгружают следующую картинку, пока ты смотришь предыдущую вот и получается иллюзия мнговенного открытия

А если у меня в папке 1156 картинок например?
AVC
Отправлено: 02.12.2005, 09:52


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE

А если у меня в папке 1156 картинок например?

Я бы сделал так.
Упреждающее чтение в направлении просмотра с учетом достижения лимитов каких-либо ресурсов.

Отредактировано AVC — 02/12/2005, 08:55
Gedeon
Отправлено: 02.12.2005, 10:04


Ветеран

Группа: Модератор
Сообщений: 1742



QUOTE (AVC @ 02/12/2005, 09:52)
Я бы сделал так.
Упреждающее чтение в направлении просмотра с учетом достижения лимитов каких-либо ресурсов.

Или как вариант использовать IDLE
Георгий
Отправлено: 03.12.2005, 03:15


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



QUOTE (Gedeon @ 02/12/2005, 10:36)
QUOTE (Георгий @ 01/12/2005, 21:46)
QUOTE (Smart @ 30/11/2005, 19:47)
Уравнивать для ускорения размеры фото и TImage — не подходит, по тех.заданию все выводимые фото масштабируются в зависимости от размеров главной формы и экрана.
Выводить на экран некачественную картинку в угоду скорости — тоже плохо.
Вот, например, движок ACDSee очень даже шустро работает даже на больших изображениях...

всякие просмотривальщики подгружают следующую картинку, пока ты смотришь предыдущую вот и получается иллюзия мнговенного открытия

А если у меня в папке 1156 картинок например?

да они только одну грузят — следующую smile.gif
как только перейдёшь смотреть следующую — они грузят следующую за следующей smile.gif
Grigoriy
Отправлено: 03.12.2005, 06:22


Мастер участка

Группа: Участник
Сообщений: 381



А если имеется в виду показывать на экране сразу 20 изображений и при прокрутке показывать следующие ?
Smart
Отправлено: 03.12.2005, 09:40


Дежурный стрелочник

Группа: Участник
Сообщений: 35



Проблема несколько в другом...
По сути это фотоальбом, картинка выводится только одна, пользователь переходит к следующей сам, кликом по кнопке.
Создается впечатление, что тормозит сам вывод картинки на экран, а не загрузка с диска и т.п.
Может и правда, сделать конвейер из трех поочередно работающих TImage, постоянно подгружающих текущую и соседние картинки, и делать им Visible по надобности? cool.gif
IgorC
Отправлено: 20.02.2006, 14:54


Ученик-кочегар

Группа: Участник
Сообщений: 4



Зачем же тогда нужен TImage ?
Лично я когда с этим столкнулся — просто им замучался.
Пришлось искать новые пути и нашел TJPEGImage
Это то что нужно!
olegenty
Отправлено: 20.02.2006, 14:57


Ветеран

Группа: Модератор
Сообщений: 2412



ImageLib тоже очень шустро картинки выводит. пользуюсь и не имею проблем.
Aptem
Отправлено: 20.02.2006, 17:56


Мастер участка

Группа: Участник
Сообщений: 349



QUOTE (olegenty @ 20/02/2006, 14:57)
ImageLib тоже очень шустро картинки выводит. пользуюсь и не имею проблем.

Скажите, пожалуйста, какие инструменты обработки изображений присутствуют в данной библиотеке?
olegenty
Отправлено: 21.02.2006, 07:40


Ветеран

Группа: Модератор
Сообщений: 2412



проще доку почитать. я ничем не пользуюсь, кроме непосредственно визуализации, т.е. использую не более 5% функционала библиотеки.
vvoid
Отправлено: 21.02.2006, 11:59


Машинист паровоза

Группа: Участник
Сообщений: 171



А кому надо платить за использование ImageLib ... и сколько?
Smart
Отправлено: 25.02.2006, 20:13


Дежурный стрелочник

Группа: Участник
Сообщений: 35



Очень рад, что тема всплыла!

Заинтересовал вариант с TJPEGImage.
В хелпе ЦБилдера 6.0 такое словечко встречается, но в палитре компонентов я его не нашел.
Подскажите, где копать?

Вернуться в Вопросы программирования в C++Builder