From some experimentation it appears that the CPU time required by the
QPainterPath system is quite non-linear in the number of control points.
So, if I break my one long path up into a number of shorter paths, it
draws MUCH faster.

Is that the case with both antialiasing on and off? (They use different
rasterization backends)


Yes.
I suspected AA in the beginning, but that was not the problem.
QPainterPaths with a large element count was the problem.
And I am not doing anything too fancy.
Just a lot of lineTo/moveTo.

After every added segment:

        if( path.elementCount() > 100 ) {
              // Long paths take too long to draw.
            QPointF cur = path.currentPosition();
            painter->drawPath(path); path = QPainterPath();
            path.moveTo(cur);
        }

Bill
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to