Hi.
I've tested the approach with splitting pixmaps. It made a slight difference, but didn't seem the result that I expected.
Finally, I've come to a thought that I have to zoom the image myself. This way:
1. I reimplemented the paintEvent of the view.
2. I look at the region that comes with event.
3. For each rect of that region, I make a buffer of the size of the rect
4. Copy a part of an image to that buffer usign image->bits()
5. Pass that buffer to a function that scales an image (this function was implemented by my colleague).
6. Then, create a QImage of returned buffer.
7. And finally, draw that image on the target rect.
Unbelivably, this works MUCH faster then Qt's pixmap transformation.
The problem left is that very often Qt sends a paintEvent with the update-region equal to the whole view (which seems unneeded), and this slows this method a bit.
But still - it's about 5-10 times faster!
Thanks to everyone for your advices.
Bookmarks