Qt4.6 & DirectFB1.4 performance Issue
I am designing Gui Application on STLinux(Embedded) using QtEmbedded4.6.
Well, my GUI won't render as fast as expected when running using only QWS (Software rendering) and that's OK!
I used DirectFB1.4 which incorporates the Blitter hardware acceleration to make it faster.
But my GUI still takes as much time as it would take while software rendering!!!!
I check directfb performance for rendering using (other directfb softwares) and found out that it's quit fine.
I further inspected and found out that drawing a rectangle would take about 200us in directfb blitter driver while QPainter drawRect function which called that function in driver would take around 1200us.
This timing is quit the same as software rendering!! I can't imagine what is wrong!!
Does anyone have any idea??
After more investigations I found out that the increase in the time spent on drawing was cause by the IO of printf() so I concluded that using a Blitter does not improve anything it can only let CPU to do something else while Blitting (in my case there were nothing useful to do rather than waiting!)
Finally I improved my software performance using Double buffering in a qpixmap that would prevent from lots of drawing commands. Now my software is about a 100 times faster than before! Thanks to the Double buffering.