First of all std::cout kills performance, remove it when testing for performance.
And why are you restructuring each sf::VertexArray before draw call?, i mean there are reasons why would you do that, but the platform surely has memory to hold 1mb of data, just make more sf::VertexArray and don't load then each loop, just draw them.
Is there a reason why you reload/reconstruct sf::VertexArray each loop? whats the point to that?
Also for god sake whats this supposed to do?
if (!mapObj.tmap.load(mapObj.tmap.getTileSet(),
sf::Vector2u(64, 64),
mapObj.getTerrainType(),
mapObj.getMapWidth(),
mapObj.getMapHeight()));
Why did you put ;(semicolon) at the end? there is no code to execute, why is it in if statement then?
What you want to do here is something like
if (!mapObj.tmap.load(mapObj.tmap.getTileSet(),
sf::Vector2u(64, 64),
mapObj.getTerrainType(),
mapObj.getMapWidth(),
mapObj.getMapHeight()))
window.draw(mapObj.tmap);
But, that is not what you want to do each loop.