Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ QLable с часто изменяющимися картинками

Автор: npopok 10.12.2008, 17:10

Есть лейбл.у него довольно часто меняются картинки из массива картинок.Написано, что метод setPixmap каждый раз создает новый экземпляр картинки, но по ощущениям не похоже(как-то быстро создает).Так вот,имеет или не имеет смысл создавать много лейблов, чтоб у каждой своя картинка,и их скрывать .Как быстрее? И еще, как можно узнавать какая функция быстрее, а то getTickCount() как-то не то.

Автор: ViGOur 10.12.2008, 17:23

Все зависит от того, как часто тебе нужно крутить эти картинки и как много.
Если создавать заранее, то создавать тогда не QLabel, а массив QPixmap, а уже по мере необходимости менять на нужный QPixmap c помощью QLabel::setPixmap.

А чем тебя не устраивает getTickCount? :)

Автор: Andrew Selivanov 10.12.2008, 17:30

Цитата(npopok @ 10.12.2008, 17:10) *
Есть лейбл.у него довольно часто меняются картинки из массива картинок.Написано, что метод setPixmap каждый раз создает новый экземпляр картинки, но по ощущениям не похоже(как-то быстро создает).Так вот,имеет или не имеет смысл создавать много лейблов, чтоб у каждой своя картинка,и их скрывать .Как быстрее? И еще, как можно узнавать какая функция быстрее, а то getTickCount() как-то не то.

Можешь использовать профайлер по типу VTune. Но я думаю что стОит начать оптимизацию с алгоритма (или забить и ничего не оптимизировать). Лучшее враг хорошего 8)

И кстати мне кажется, что куча label-ов не самая лучшая идея, может стоит посмотреть в сторону других контролов?..

Автор: kuler 11.12.2008, 18:14

Цитата(npopok @ 10.12.2008, 17:10) *
а то getTickCount() как-то не то

запускаешь цикл от одного до миллиона и там покатит, уж поверь

Автор: Litkevich Yuriy 11.12.2008, 18:43

еще можно такой вариант: Создать набор картинок - мультипликацию, и ее затем воспроизводить нужный кадр, http://crossplatform.ru/documentation/qtdoc4.3/qmovie.php#details и слот http://crossplatform.ru/documentation/qtdoc4.3/qmovie.php#jumpToNextFrame

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)