Je complète/paraphrase un peu.
Pourquoi afficher un sprite en-dehors de la View réduit-il les performances ? En fait, je me demande s'il est possible d'afficher ainsi en dehors d'une View, et donc d'une fenêtre, sans que rien ne "déborde" au final. J'imagine que s'il y avait effectivement un affichage qui dépassait ainsi, ça serait visible, et que comme ce n'est pas le cas, rien n'est affiché. Donc pourquoi faut-il que l'utilisateur vérifie que le Drawable est bien dans la View avant de l'afficher pour gagner des performances ? Un tel travail n' est-il pas déjà fait dans Draw() ? Sinon, devrait-il l'être ?
Très simplement : les choses les plus rapides à afficher sont celles que tu n'affiches pas. Et plus tu les élimines tôt, plus tu gagnes en performances.
-> OpenGL le fait très tard
-> SFML ne peut pas le faire avec l'API actuelle (aucune abstraction pour récupérer le rectangle englobant dans sf::Drawable)
-> comme l'a dit Hiura, si ton appli a besoin de le faire, c'est qu'elle est déjà assez conséquente, et donc il y a fort à parier que tu as déjà une structuration de tes entités qui permette facilement d'éliminer les invisibles
Ne serait-il pas intéressant de faire du dirty rectangle drawing comme la SDL ?
C'est un concept d'un autre temps, et ce ne serait pas vraiment applicable à la façon dont les choses fonctionnent