The human eye cannot detect anything that changes faster than about 30 times per second, and even then can't process the changes in the brain unless the changes are gradual (like a movie). So it makes no sense at all to try to animate anything faster than 10 - 20 steps per second (i.e a timer with timeout of 100 - 50 ms). Otherwise you're just burning up CPU cycles for no good reason and slowing everything else down.
If your animation steps can be pre-computed (that is, drawn into a series of images once instead of being drawn each step in real time), then store the images as resources in your application and simply display each image one after the other using QImage or QPixmap. This will probably be much faster than a bunch of QPainter operations with pens, brushes, and shapes.
Bookmarks