Bah moi je fais comme ça :
VertexArray pour tout ce qui est statique. (Mais ça me pose des problèmes quand j'ai des décors statiques qui peuvent se trouver devant ou derrière des autres décors statiques qui sont sur des textures différentes.
(Exemple : avec l'éditeur de map je dessine un mur autour d'une maison, certains vertex de la texture du mur doivent s'afficher devant les vertex de la texture de la maison et les autres, derrière.)
Vu que avec la tilemap dans le tutoriel de Laurent on est obligé de dessiner tout les décors (c'est à dire tout les vertex) qui utilisent la même texture d'un coup et que de plus on ne peut pas utiliser plusieurs textures par tilemap, cela n'est pas bien dans mon cas, donc, même pour les décors statiques j'utilise des sprites que j'insère dans une liste dans l'ordre dans lequel ils doivent être affiché et non pas des vertexarray.
Actuellement je suis entrain de modifier SFML pour activer le depthtest et pour pouvoir mettre une composante z pour chaque vertex de manière à ne plus être obligé de devoir dessiner tout mes vertex dans l'ordre dans lesquels je veux les afficher et minimiser les appels à draw.
Donc je te conseilles d'utiliser les vertexarray que si tes décors statiques utilisant la même texture ne s'affichent que sur une seule et même couche, sinon, il faudra modifier SFML.
Sinon, si tu utilises plusieurs couches, utilises des sprites, c'est mieux.
Pour les entités semi-transparente par contre comme les lumières et les ombres, les rendertextures c'est le mieux.
Car même en modifiant SFML, le depthtest ne marchera pas sur tout ce qui est semi-transparent.