Performance improvements are achieved by using requestAnimationFrame when a tile's visibility changes, and by not starting with a blank image when creating a new tile image. It seems that even Firefox does not show a loading placeholder when the tile is made visible in an animation.