performance, code structure, tile map, 2d rendering, multiple contexts