I was wondering, are tiles still drawn when completely covered by another tile? It makes sense to me to draw them if the above tile has transparent features, but if the top tile is completely solid, it would be ideal to skip drawing them and only allow data access to them via the functions which operate on the tilemap data. I ask because I have a map with two layers which is 100x100. This map requires 20,000 tiles to draw properly which forces me to raise the default engine cap. However, most of these tiles are in a background layer which is drawn over and only used for data purposes in some cases to know where the ground is. Also, it saves effort to be able to flood fill a large zone with background tiles and then paint over them on a top layer. Just wondering how the implementation works.
I’m not sure in this case but profilers should be able to tell you or not if you setup some tests to see.
I don’t see anything that sticks out. I see TileGrid.RenderBatch occurs in 0.36 ms for this particular map but it only has 1 instance (seems efficient!) I’m guessing this doesn’t really affect performance much. I wonder if there’s any point to limiting tiles per tilemap then? Maybe just as a reminder to the developer if they’re making too large levels for a certain memory target?
Last I checked no culling is done before rendering, so all the geometry in a tilemap will be sent off to the GPU for rendering.
Can you post a screenshot of the profiler? Check the web profiler too. If you knew some tile segments were completely covered you could disable them.
Correct. We do no culling of any kind.