number of objects drawn to dc

Hi all,

I need to draw to DC huge number (> 1e6) of objects (GIS application,
tool for editing vector maps). There is simplified OnPaint fn.

        dc = wx.BufferedPaintDC(self, self._Buffer)
        import time
        start = time.clock()
        nlines = 1000000
        for i in range(nlines):
            dc.DrawLine(0, 0, 100, 100)
        stop = time.clock()
        print >> sys.stderr, "time=%f" % (stop-start)

For example for 1e6 objects time needed for drawing is 3.4s on my
machine. But the applications is frozen for 10s and more. The response
is *too* slow and application is unusable for the user...

I am looking for a way how to improve response of application on paint
event. Any hits welcomed!

Thanks a lot, Martin

···

--
Martin Landa <landa.martin@gmail.com> * http://gama.fsv.cvut.cz/~landa *