Russian Qt Forum
Ноябрь 24, 2024, 21:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Animation Framework тормозит  (Прочитано 16984 раз)
Amigo_sa
Гость
« : Январь 22, 2010, 18:03 »

Добрый день.
Тестирую тут анимацию, конкретно propertyAnimation, и возникают странные тормоза, не знаю как решить проблему.
В тестах я менял геометрию картинок на Widget или на GraphicsView. Конкретно код:
Код:
	QLabel * demoLabel = new QLabel(QString::fromLocal8Bit("демонстрационный ролик"), this);
QFont font = demoLabel->font();
font.setPixelSize(48);
font.setBold(true);
font.setItalic(true);
demoLabel->setFont(font);
demoLabel->setGeometry(0, 500, 300, 50);

demoLabel->installEventFilter(this);

QPropertyAnimation * anim1 = new QPropertyAnimation(demoLabel, "geometry");
anim1->setDuration(9600);
anim1->setStartValue(QRect(2280, 950, 1000, 50));
anim1->setEndValue(QRect(-1000, 950, 1000, 50));
anim1->setLoopCount(-1);
Пробовал еще двигать картинки, уменьшать и увеличивать.
Проблема в том, что это безбожно дергается и ни о каких 60fps, как утверждает Qt нет...
Пробовал логировать события о перерисовке компонентов. Анимация действительно обновляет положение виджета каждые 16 мс. Посылает сначала move, потом paint. Возможно, есть проблема у графической подсистемы, к которой обращается Qt? К сожалению, с этой проблемой не сталкивался и на форуме похожего не нашел. Подскажите плиз, кто знает  Улыбающийся
Записан
SABROG
Гость
« Ответ #1 : Январь 22, 2010, 18:58 »

Выложи пример, который можно собрать и погонять у себя на компьютере.
Записан
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« Ответ #2 : Январь 22, 2010, 19:20 »

У меня тоже в приложении были тормоза с QPropertyAnimation
а именно полупрозрачный виджет отрисовывался с задержкой, видно как фон "тянется" за виджетом,
тестировал только на своем компьютере, попробуйте приложение, отпишитесь тормозит ли оно у вас тоже:
http://gigasoftgroup.com/Content/soft/POZMOBAonline/POZMOBAonline.rar
если мое приложение работает у вас без тормозов, то может вам поможет пересобрать Qt
Записан
SABROG
Гость
« Ответ #3 : Январь 22, 2010, 20:17 »

IGHOR, у меня твоя программа не тормозит. Жалко конечно, что весь интерфейс на украинском, т.е. система переводов Qt даже не используется. Шрифты смотрятся убого с таким интерфейсом, иконки не выравнены, их позиция похоже зависит от длины текста на кнопке, да и картину портит фокус-пунктир на кнопке.

P.S.: iphone конечно модно, но даже у нас на работе человек имеющий iphone страстно хочет взять себе nokia n900.
« Последнее редактирование: Январь 22, 2010, 20:19 от SABROG » Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #4 : Январь 22, 2010, 21:32 »

Не вижу у себя тормозов тоже. WinXP SP3. Core2Duo.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #5 : Январь 22, 2010, 21:51 »

оффтоп
когда нокиа наконец перестанет делать кирпичи?
Записан
SABROG
Гость
« Ответ #6 : Январь 22, 2010, 22:41 »

оффтоп
когда нокиа наконец перестанет делать кирпичи?

Вес iPhone - 135 грамм, вес Nokia N900 - 181 грамм, вес кирпича - 4300 грамм.
Толщина IPhone - 12,3мм, толщина Nokia N900 - 18,0мм
Высота IPhone - 115,5мм, высота Nokia N900 - 110,9мм (!)
Ширина IPhone - 6,21мм, высота Nokia N900 - 5,98мм (!)

Отсюда речь идет о толщине и весе Nokia N900. Итак разница составляет - 5,7мм и 46 грамм. А теперь вспомним, что у IPhone'a нет выдвижной клавиатуры, которая будет работать в любой программе и операционной системе которую ты можешь поставить вместо maemo. А теперь смотрим чего человеку не хватает для работы в консоли линукс установленного на iPhone - http://www.youtube.com/watch?v=QwfMJRP5rnI
Записан
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« Ответ #7 : Январь 22, 2010, 23:58 »

SABROG, кнопка это стандартный QPushButton со стайлшитом, иконки ровняются по дефолту, и я не старался шрифты ровнять, прога написана только для тестирования анимации переходов так что за укр извините
а за пунктир кнопки это странно, я ведь отключил фокус, можете скрин прислать?
вот скриншоты как должно выглядеть http://gigasoftgroup.com/POZMOBAonline

xokc, SABROG, спасибо что потестировали, значит все хорошо и у меня тормоза из-за разришения монитора 2048х1152 наверное
« Последнее редактирование: Январь 23, 2010, 00:09 от IGHOR » Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #8 : Январь 23, 2010, 00:44 »

SABROG
я не про вес, а внешний вид:(
а зачем в телефоне консоль?
Записан
SABROG
Гость
« Ответ #9 : Январь 23, 2010, 01:10 »



---
Консоль больше для сисадминов бы пригодилась, чтобы сервак перезагрузить например через SSH.
Записан
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« Ответ #10 : Январь 23, 2010, 01:58 »

SABROG, теперь ясно, фокус появляется только после первого нажатия стрелок или таба,
в общем спасибо за замечание, в будущем учту это

скажите а что у вас за видеокарта? может тормоза связаны с видео драйвером, ибо Qt рисует через GDI+ а GDI+ по моему через DirectX
« Последнее редактирование: Январь 23, 2010, 02:00 от IGHOR » Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #11 : Январь 23, 2010, 02:36 »

xokc, SABROG, спасибо что потестировали, значит все хорошо и у меня тормоза из-за разришения монитора 2048х1152 наверное
я бы не спешил ушки распускать на счет "не тормозит". у разных людей разное представление о нормальном отклике программы. Тут нужны точные замеры, а не болтовня.
ПС. "Хто онлайн?"  - это конкретно... Улыбающийся))
« Последнее редактирование: Январь 23, 2010, 02:38 от panAlexey » Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« Ответ #12 : Январь 23, 2010, 03:04 »

panAlexey, может и разные,
главное мне определить почему фон/заставка иногда едут вслед за виджетом анимации, ибо если целиться на какой-то качественный продукт то надо избавится от таких тормозов
я уже потестировал на еще одном компьютере там все идеально, а на своем разрешение менял не помогло
если такое не у каждого значит "производительность" зависит от оборудования,
может Qt в новой версии поправят производительность анимации/перерисовки а если нет то буду думать о ручном рисовании нестандартных интерфейсов

PS: идея интерфейса проги пришла в то время когда я должен был встретится в чате с одной девушкой и не знал когда она появится вот и написал за одно такую программу "дело было вечером, делать было нечего"
« Последнее редактирование: Январь 23, 2010, 03:37 от IGHOR » Записан
SABROG
Гость
« Ответ #13 : Январь 23, 2010, 09:24 »

PS: идея интерфейса проги пришла в то время когда я должен был встретится в чате с одной девушкой и не знал когда она появится вот и написал за одно такую программу "дело было вечером, делать было нечего"

Это называется преследование, а программа помогает, эдакий шпион Подмигивающий

Насколько я помню Qt отказалась от GDI+. Хотя может это относилось именно к GDI объектам...
Записан
zenden
Гость
« Ответ #14 : Январь 23, 2010, 19:12 »

SABROG
Вы что-то путаете. Qt никогда не использовала GDI+. Да и зачем?
И никакой hardware-акселлерации в GDI+ нет.

P.S. Приложение автора не тормозит на MSI Wind U100,у которого процессор Atom 1.6 ghz и от видеокарты "только название".
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.133 секунд. Запросов: 23.