I am programming tile based strategy game, so I have orthographic view. The rendered screen has 40*20 tiles wide and each tile has got 50*50px texture. I have one layer of tiles (let's say grass) and I place walls on top of it. The game runs smoothly at 60fps now. But do I need to remove the underlaying grass tile, when I place wall over it? Because the grass is rendered before the wall and so the wall overdraws it, but I am worried about the performance cost. I render it on SpriteBatch and there is no documentation on how does the inner processes in SpriteBatch work.
So the question is: Is it highly performance unfriendly to render tiles which are not visible anyway?
In my game I have tiled levels with 100-200x50 (one tile =90x90). Level has 4 layers (includes physic one). 10% of all tile are animated.
I don't have any problems with rendering of such map even on devices like Sumsung galaxy s2. As far as I know for rendering tiled maps libgdx uses sprite cashing technology. Such way even map with huge amount of tiles should works smoothly.
So I think you should not worry about performance with tiled map, you can remove invisible tiles and in theory it is good thing to do, but in practice it will impact on performance only if you have really huge amount of different
invisible tiles.