If you have the tiles stored in an array [x, y] and you can use maths (if you know the size of the tile, and the current screen location) to work out what range of x's and y's are visible, then you don't need to draw every tile and its contents, just those visible.
So if the screen size is 100x100 and each tile is 10x10 (easy numbers to keep it simple) and the x corner of the player's screen is at 115, then you need to draw from x = 11 to x = 22 of the array.
So if the screen size is 100x100 and each tile is 10x10 (easy numbers to keep it simple) and the x corner of the player's screen is at 115, then you need to draw from x = 11 to x = 22 of the array.