Bah moi, ce que je fais c'est que à chaque tour de boucle :
-Je dessine mes ombres sur mes render texture.
Pour les autres couches, je stocke tout dans un vecteur et j'affiche d'abord les couches du sol puis les décors (bâtiments, murs, arbres, etc...), il n'y a que pour les personnages et les monstres ou je suis obligés d'insérer la tile dans le vecteur car eux, lui ils bougent donc,parfois je dois le dessiner devant parfois derrière les décors.)
Mais j'ai déja une classe entité et une grille virtuelle en isométrique qui gère tout ça. (Couches, collisions, récupérer toutes les entités qui sont dans la vue de manière rapide, etc...)
Donc il n'y a que les ombres et les lumière pour lesquelle j'utilise une render texture que je rends en en add et en multiply avec une render texture.
Je mettrai des screens des différences que j'ai avec les ombres sur mes 2 PC. (Celui avec carte graphique et mon autre plus ancien avec juste un bête chipset intel.)
Sur l'un ça m'affiche les ombres sur l'autre ça m'affiche une ligne noir horizontale au milieu de l'écran.
Bref..., et à chaque passage de la boucle je dois refaire des setView sur la RenderTarget de la fenêtre et sur la RenderTarget des render texture, sinon, les ombres ne se déplacent pas avec la caméra...
A mon avis c'est ça qui ralenti..., les appells successifs à setView.