Hi Doug and others
I had been thinking about contour performance recently. I noticed a significant fall in performance when I applied a transform to a large data set when using the wxWidgets wxGraphicsContext driver on Windows - although I never benchmarked it. This driver uses GDI+ for drawing, which isn't hardware accelerated, not that it would matter much on my laptop.
I put the reduced performance down to changing from rectilinear coordinated to non-rectilinear. Someone with better knowledge than me might correct me but I guess that this means that the code calls a general polygon drawing function requiring that for each quadrilateral generated by each set of four data points the renderer has to iterate over every pixel in the image to check if that pixel is inside the polygon. It may be that the renderer is cleverer than that but there is still a cost to drawing non-rectilinear grids. Similar problems are likely when the number of contours is so high that almost every rectangular cell is cut by a colour transition. I wonder if plplot can be cleverer by merging adjacent non-rectangular cells reducing the number of polygons drawn or if it already does something like this?
Unfortunately I haven't got time to look further into this at the moment as I'm working on some other wxWidgets driver things. I don't know if anyone else has any thoughts?