[Qt-interest] is it the right way to calculate fps?

noam.rosenthal at nokia.com noam.rosenthal at nokia.com
Fri Jun 25 21:29:57 CEST 2010


The way I prefer to measure FPS is to create an arbitrary 10ms timer in the UI thread (using the lower level QObject::startTimer and timerEvent), and add to the frame count every time it pops. Because the timer is in the UI thread, it would be affected by all the delays in the paint event, animation framework or other events. Every few seconds I'd calculate average (and optionally the standard deviation).
The nice thing about this is that (1) it measures ALL delays and not just paint time (2) it can be side-loaded to any existing application.

@Pritam: the reason you're seeing high FPS is because paint events might be called more than once per frame, if your QGraphicsView has an update mode that's not FullViewportUpdate, for example. Paint events are not equivalent to frames that the user sees, and the same goes to the QAnimation stuff, for example when you have two animations running concurrently.


>-----Original Message-----
>From: qt-interest-bounces at trolltech.com 
>[mailto:qt-interest-bounces at trolltech.com] On Behalf Of ext Jason H
>Sent: Friday, June 25, 2010 11:01 AM
>To: Constantin Makshin; Qt Interest
>Subject: Re: [Qt-interest] is it the right way to calculate fps?
>
>He's probably looking at it from the perpective of "I'm 
>redrawing too much, so my other parts of my system are suffering"
>The question is, are all other processes yielding CPU, causing 
>high FPS, or is it drawing too much, stealing CPU? And also 
>what is generating so many paint events if the FPS is locked at 30?
>
>See enum QGraphicsItem::CacheMode, but do not use NoCache  (default)
>
>
>
>----- Original Message ----
>From: Constantin Makshin <cmakshin at gmail.com>
>To: Qt Interest <qt-interest at trolltech.com>
>Sent: Thu, June 24, 2010 3:46:52 PM
>Subject: Re: [Qt-interest] is it the right way to calculate fps?
>
>(1) should be more correct, IMHO, because it counts actual 
>redraws instead of some updates that may be ignored for some 
>reason (vsync, etc.).
>
>And why don't you like high FPS values? :) Or your FPS counter 
>seems to show wrong values (i.e. the animation is 
>significantly less smooth than you expected from shown FPS value)?
>
>On Thursday 24 June 2010 21:18:51 lists4pghanghas wrote:
>> Hi
>> 
>> Over time I have used two methods for calculating FPS during 
>> animations in my qt progs.
>> and always had doubts whether I am getting the right nos or not
>> 
>> 1) increment a counter in paint event of widget whose fps I want to 
>> know and then use that to calcualte fps at the end of animation
>> 2) increment counter everytime animation api emits signal 
>> valuechanged/framechanged.
>> 
>> Are these methods guaranteed correct in every usecase. And are there 
>> any better methods ways to do this.
>> 
>> I am asking this question becaues I got a very hight number 
>with these 
>> methods recently when using scrollArea. That no seems unlikely on my 
>> embedded hardware.
>> 
>> Thanks
>> Pritam
>_______________________________________________
>Qt-interest mailing list
>Qt-interest at trolltech.com
>http://lists.trolltech.com/mailman/listinfo/qt-interest
>
>
>
>      
>
>_______________________________________________
>Qt-interest mailing list
>Qt-interest at trolltech.com
>http://lists.trolltech.com/mailman/listinfo/qt-interest
>



More information about the Qt-interest-old mailing list