Consistent draw order, only redraw when needed, don't draw out of view objects