Don't mess with such low level solutions. Instead turn on caching for your items - it will result in a performance boost which will probably be even better than using a framebuffer.
Don't mess with such low level solutions. Instead turn on caching for your items - it will result in a performance boost which will probably be even better than using a framebuffer.
I already use ItemCoordinateCache for all of my items.
The problem is the animations are sucking a lot of CPU.
To give you an idea of the application, it has 36 rotating images at 25 frames per second along with other static widgets and buttons.
My target hardware is a 1 GHZ netbook with a via unichrome graphics chip.
The above uses 90+% CPU.
I can run Qt's framebufferobject2 example, texturing the quads with the same image used above and rotating them in the same way at 50 frames per second. And this uses only 15% or so CPU.
That is the kind of gain I am looking for and the reason I thought getting frame buffers enabled would improve performance.
Last edited by Dutch112; 5th May 2009 at 21:16.
Using the framebuffer won't help then. You might switch to DeviceCoordinateCache but I wouldn't expect miracles.
Are you performing the animation using QGraphicsScene::advance()?To give you an idea of the application, it has 36 rotating images at 25 frames per second along with other static widgets and buttons.
It doesn't involve Graphics View, so no collision detection or transformations.I can run Qt's framebufferobject2 example, texturing the quads with the same image used above and rotating them in the same way at 50 frames per second. And this uses only 15% or so CPU.
Try profiling your application to see what is causing the slowdowns. I think the bottleneck is not rendering.That is the kind of gain I am looking for and the reason I thought getting frame buffers enabled would improve performance.
Try switching to advance, it should be faster.
If you're not moving the items too much then it's enough to set the "interactive" property of the view to false. If you are moving items but you don't care about collisions, disable indexing for the scene.Could I disable collision detection?
Callgrind (part of Valgrind package) or gprof if you're running a supported platform. I don't profile on Windows so I can't recommend anything there.What profilers do you recommend?
Bookmarks