It's capped at 30. In debug mode I get about 200, release 1500 - 2000.
It should be one draw call per line segment, which is why it took me so long to write. If I had a separate draw call for every tile with a border, I could have wrote it in no time, but then it would have effected fps a bit. I do have to double check it to make sure it's actually doing what I think it is though.
It scans a list of tiles currently on the screen. If a tile is owned by someone and not surrounded by tiles owned by the same person on all its sides (bottomleft/bottomright/topleft/topright), then the sides which have have tiles not owned by the same person get labeled as such and the tie gets added to a list of tiles to add a border to. Once all the tiles on screen are labeled, it takes a tile from that list and starts a new line segment. starting from the bottomright of the tile and moving in a clockwise motion, it adds points to the linesegment. the clockwise motion stops when it runs into one side that doesn't need to have a line for that tile. It's checked for here if the has all of its sides drawn, and if so, the tile gets removed from the list of tiles to add borders. then it scans for neighbors that are owned by the same tile, starting to the left and again going in a clockwise motion, and when it finds one a valid tile it completes the same process as above. It stops when it finds a tile which doesnt need any of its sides completed, which is our cue to pick the first tile on the tiles to add border list and start this process again. Not sure if there's a better way to do it, but that seems pretty reasonable to me.