You render the whole scene at the start of the frame - you can do the exact same thing but using fastloops to make it quicker. If you need to change a tile during the game, you only need to modify that tile and the other 8 directly surrounding it.
If you only have one type of background then you don't need an array. You can just use a collision mask / detector.