cache sorted zorder list (since it doesn't change often) to give moderate performance improvements on each call to redraw()