Je savais pas que c'était le code mis à jour dans le 1er post, je pensais que tu avais corrigé et sorti les chargements de ta boucle principale comme tu le montrais dans
ce post.
En effet comme le dit Bator, la première chose à faire c'est de ne pas recharger tout à chaque frame. Tu n'as besoin de charger les choses qu'une seule fois, donc sors tes chargements de la boucle principale, et à l'intérieur de la boucle tu draw.
Ensuite si t'as encore des problemes de perf (en affichant toutes les tiles) essaie de n'afficher que celles dans ta vue, il y a plusieurs façons. Soit tu calcules pour chaque tile si elle est à l'intérieur de la vue, soit tu calcules les plus petits et plus grands indices i (x) et j (y) qui correspondent à ce qui est dans ta vue pour boucler juste sur ceux là.