Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: jasf от Ноябрь 09, 2009, 15:03



Название: скорость таймера в QStateMachine
Отправлено: jasf от Ноябрь 09, 2009, 15:03
Здравствуйте. Хотелось бы уменьшить задержку (увеличить разрешение) таймера в QStateMachine для увеличения плавности анимации. что бы, к примеру, за 0,5сек он выдавал не 10, а 20 фреймов. заранее спасибо.


Название: Re: скорость таймера в QStateMachine
Отправлено: jasf от Ноябрь 14, 2009, 03:44
QUnifiedTimer::instance()->setTimingInterval(1);


Название: Re: скорость таймера в QStateMachine
Отправлено: _govorilka от Ноябрь 14, 2009, 12:36
В Qt есть хороший пример. как организовать анимацию: \examples\widgets\wiggly\.
Смотрели его?


Название: Re: скорость таймера в QStateMachine
Отправлено: jasf от Ноябрь 14, 2009, 19:30
В Qt есть хороший пример. как организовать анимацию: \examples\widgets\wiggly\.
Смотрели его?

да конечно. только не совсем понятно, при чём тут данный пример, если по умолчанию в Qt 4.6 захардкожен интервал в 16микросекунд для QUnifiedTimer. Поэтому максимум можно получилось не более 60фпс. на практике и того гораздо меньше(в моей Windows 7 около 30фпс на выходе, что отнюдь не плавно). Заметно "подтормаживание". А вот если установить delay = 1, анимация становится нормальной.

P.S. естесственно такое не всегда необходимо. Но разница между 30 и 70фпс заметна, когда прокручиваются большие списки мелких элементов. Нет дрожания, которое присутствует на небольших фпсах.