Better way to move shapes in tkinter

I’m writing a simple game just for practice and I’m having issues with the frame rate for the backdrops.
Everything is drawn pixel by pixel, so like for example if i have
draw([['red','blue'],['blue','red']]) #Pseudo code the function has more stuff in it lol
i’ll get:
:red_square::blue_square:
:blue_square::red_square:
All was well till i was moving on to drawing backdrops, Im having issues with the fact it’s all done frame by frame, since my canvas is 200,200 so it needs to draw over 200 pixels every frame. IDLE crashes once I get to 100+

so is there a way I can move shapes in tkinter without it being frame by frame? Or alternatively is there a more efficient way for me to do this?

If you are running tkinter code from an IDLE editor, it must by the process running your code that crashes, not the IDLE process, which should continue running. Running your code without IDLE would give more information.

In any case, one can put multipixel items (sprites) on a tkinter canvas that can be moved around as a whole. In the above, you have rectangles with a gradient fill, but tkinter does not have a gradient fill feature; you would have to use a monocolor fill. What behavior are you calling a ‘crash’?