Hi Malcolm,
is your data on a regular grid? if yes: no do no supply the x and y data per point, rather just give an array of heights, and then DataRange to set the x and y values. If you supply x,y,z triplets it will do so-called delaunay triangulation on all your point which is very slow...
--SH