Быстрая прорисовка множества изображений

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Быстрая прорисовка множества изображений

Сообщение TrueTrue » 16.11.2013 (Сб) 1:48

Дочка как-то залезла в Ютуб :), ей понравилось смотреть мультфильмы, сделал ей приложение на VB6, по навигации немного схожее с ютуб.

Скриншот прилагаю.

Все картинки вывожу в PictureBox-ах, выводятся долго :( слайдами.
Можно ли как-то ускорить вывод Picturebox-ов либо заменить их другим объектом, либо прорисовку делать иначе?
Посоветуйте, какое-то решение, что бы ускорить вывод превьюшек.
Спасибо.
Вложения
1111.jpg
1111.jpg (924.45 Кб) Просмотров: 1832

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Быстрая прорисовка множества изображений

Сообщение Хакер » 16.11.2013 (Сб) 8:58

Можно.
Использовать Image, а не PictureBox.
Использовать BitBlt для копирования растра.
Использовать SetDIBitsToDevice и заполнять огромный мастер и копировать его в устройство по указанному контексту устройства.
Использовать DirectX.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: Быстрая прорисовка множества изображений

Сообщение Mikle » 16.11.2013 (Сб) 10:11

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

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Быстрая прорисовка множества изображений

Сообщение TrueTrue » 16.11.2013 (Сб) 11:05

Грузятся уже готовые картинки, сделанные KMPlayer -ом, так как подругому извлекать скрины из видео файла не разобрался как.
Антивируса нет.

Код: Выделить всё
Использовать Image, а не PictureBox.
Использовать BitBlt для копирования растра.
Использовать SetDIBitsToDevice и заполнять огромный мастер и копировать его в устройство по указанному контексту устройства.
Использовать DirectX.
- какой из выбранных вариантов, возможно самый быстрый, что бы мне не пробовать все?

добавлено:
Сейчас посмотрел, таки да, немного масштабируются. Исправлю этот момент.

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Быстрая прорисовка множества изображений

Сообщение TrueTrue » 16.11.2013 (Сб) 12:08

Заменил Picture на Image, сконвертил превьюшки в нужный размер, Strech - отключил. Стало немного быстрее, но пока всё ещё слайды...

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Быстрая прорисовка множества изображений

Сообщение FireFenix » 17.11.2013 (Вс) 5:01

чутка оффтопа:
TrueTrue писал(а):KMPlayer -ом

КМплеер мёртв как плеер и от него русские девелоперы отказались. Сейчас форсится Daum PotPlayer тоже от корейцев, который полный аналог + в котором всё полностью поддерживается и нормально работает

TrueTrue писал(а):- какой из выбранных вариантов, возможно самый быстрый, что бы мне не пробовать все?

Ясно же, что самый быстрый способ это напрямую работать с фрейм/видео-буфером.

Но ты разделяй свои способности с требуемыми силами для создания самого "быстрого кода" и целесообразности этого
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

TrueTrue
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 167
Зарегистрирован: 20.05.2009 (Ср) 23:18

Re: Быстрая прорисовка множества изображений

Сообщение TrueTrue » 18.11.2013 (Пн) 21:01

FireFenix писал(а):чутка оффтопа:
TrueTrue писал(а):KMPlayer -ом

КМплеер мёртв как плеер и от него русские девелоперы отказались. Сейчас форсится Daum PotPlayer тоже от корейцев, который полный аналог + в котором всё полностью поддерживается и нормально работает

TrueTrue писал(а):- какой из выбранных вариантов, возможно самый быстрый, что бы мне не пробовать все?

Ясно же, что самый быстрый способ это напрямую работать с фрейм/видео-буфером.

Но ты разделяй свои способности с требуемыми силами для создания самого "быстрого кода" и целесообразности этого


Ну в принципе, для дочки, мне ничего не жалко. :) Знать бы как "напрямую работать с фрейм/видео-буфером", я сделал бы и так.

Что касается КМ-плеера, я так восхищался в своё время им, и он превратился в такое дерьмо... обидно. PotPlayer вроде достойная замена, спасибо.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот, SemrushBot и гости: 49

    TopList