C'est exactement ce que j'ai fait, je suis passé en C++ par soucis de performance. Mes FPS sont à 600 environ quand je pousse au max, contre 120 en python. Python est simplifié, et on a tendance à faire des choses compliquées trop simplement, au détriment de la vitesse.
Il vaut mieux que tu passes par un background; une seule gestion contre plusieurs pour les tiles.
Dans mon projet (qui est un jeu (on se refait pas)), mon background fait 3200x3200 pixel, et ma fenêtre fait 1280x800 pixel. J'ai 200 objets en plus à gérer, et des traitements de listes, le tout en temps réel. Et comme je disais, je tourne au max à 600 FPS, et j'ai juste un Core2 1.86 GHz, rien de bien fameux.
Laisse toi tenté par le background, c'est plus facile à gérer, et de mon côté je ne détecte pas de ralentissement.
Et met toi au C++ le plus tôt possible, ça t'évitera de passer plusieurs semaines à convertir un code python volumineux.