draw whole map directly in secondary canvas instead of redraw some region every frame