ccc, that wasn't obvious but fair enough! :)

I actually wanted a pretty dynamic environment/game. Even if I 'only change it when it needs changing' I still have to keep track of all z heights and run a chunk of code to decide IF a change has happened, between any of the layers, 60 times a second. This is some distance from simply passing a z height to the canvas, and no doubt considerably slower.

Thank you for all your help though, at least I know the limitations now.