I have a Qt test application that continuously displays 1k x 1k 8-bit images that are received over one of the SATA interfaces. This images are received at about 18 fps. I have buttons in the app that start and stop image display.
If I run my application using the following command line switches: -qws, the display rate is approximately 9.5 fps.
If I run my app with the following command line switches: -qws -display powervr, I see the following behaviour ...
-
First press of the start button, I see the full 18 fps, however, the video window is black, no video is displayed
-
If I press stop and then start again, I see about 6 fps of the correct video.
I was under the impression that the -display powervr switch was supposed to improve 2D graphics performance. In my case, it seems to be detrimental.
The app is displaying the images using a QGraphicsView. The viewport is set to be a QGLWidget. The scene has a single custom QGraphicsItem The images are painted in the QGraphicsItem::paint() using the following line of code:
painter->drawImage( QPoint( 0,0 ), m_hImage )
m_hImage is a pointer to a QImage that contains the image data.
I wonder if anyone might suggest the best way to accelerate 2D graphics with a Qt application.
Thx, Steve