LINUX.ORG.RU

C++, Qt, анимация, частота обновления экрана, апдейта виджета.


0

2

Кросс-платформенное приложение. Кастомный виджет с плавно меняющимся видом.

Эксперимент такой. Есть функция newview(), меняющая состояние объекта виджета в соответствии с его видом на следующем кадре. Есть функция, дергаемая из QTimer, которая вызывает последовательно newview() и QWidget::update(), дабы спровоцировать вызов paintEvent().

Под моим линукс всё плавно при 30 qtps (QTimer ticks per second), а под виндой плавность наступает при 60. Причины любопытны, но вопрос сейчас в «чёделать» - например где взять частоту, с которойпод данной системой надо дёргать мои функции.

Может быть писатели видеоплееров посоветуют более трушный way. Qt animation framework - это тополь-м по мухам, наверное не стоит его советовать.

Спасибо.

где взять частоту, с которойпод данной системой надо дёргать мои функции

Наверное, с частотой, равной fps монитора будет достаточно.

no-such-file ★★★★★
()
Ответ на: комментарий от no-such-file

Может оказаться, что монитор подключен через HDMA, что это вообще 100Гц-телек, а не монитор, а картинка в видеокарте в данном конкретном видеорежиме обновляется с частотой не более 30 fps. И вот создам я таймер на 100гц и буду проц зазря жрать...

kiverattes ★☆
() автор топика
Ответ на: комментарий от kiverattes

Вы упорно, а точнее упорото, отказываетесь понимать один факт — Qt animation framework будет быстрее вашего велосипеда вовсе не потому, что он использует другую частоту кадров. Он гарантированно выполняет обновление анимации ровно тогда, когда требуется отрисовать новый кадр, и никак иначе. Он также имеет куда большие возможности для быстрого отсечения анимаций, которые не потребуется обновлять в данном кадре.

quiet_readonly ★★★★
()
Ответ на: комментарий от quiet_readonly

Крутая реклама. Осталось добавить, что предусмотрен возврат товара в течении 2 лет с момента покупки! Но разговор о технических деталях был бы интереснее :)

kiverattes ★☆
() автор топика
Ответ на: комментарий от kiverattes

Исходники Qt к вашим услугам. Легче всего просматривать на code.woboq.org.

quiet_readonly ★★★★
()
Ответ на: комментарий от kiverattes

Осталось добавить, что предусмотрен возврат товара в течении 2 лет с момента покупки!

Просто забэкапся :)

Deleted
()
Ответ на: комментарий от KblCb

Много уже какого кода хочется почитать, да всё времени нет... Audacity вот ещё не дочитал.

kiverattes ★☆
() автор топика

60 fps это идеальный для анимации. Под линуксом всего скорее из-за компиза\квина так кажется сглажено.

bhfq ★★★★★
()
Последнее исправление: bhfq (всего исправлений: 1)
Ответ на: комментарий от bhfq

Нет компиза-квина. Кино в 24 fps мне тоже кажется сглаженным )

kiverattes ★☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.