Tkinter Bug (?) - Weird FPS in after loop drops when using create_image()


Github Link:

I think this came up recently in the MacOS 14.3 version. But I’ll list some details down below incase they might be relevant.


Python Version: 3.12.1

Conda version: 24.1.2

Tkinter version: 8.6.12

MacOS: Sonoma 14.3.1 (23D60)

Mac: Air M1, 2020 16GB

Also I believe this was still the issue with python 3.10.13 and Tk Version 8.6.10. This has also been tested on macOS Monterey and with python 3.10.x where it worked as intended; without any FPS drops.

Problem / Bug

The weird thing is that the Update time for each loop is actually faster when using create_image() but the overall FPS still drops significantly. The code is a showcase-version of another project so if you have anymore relevant questions please feel free to ask :slight_smile:

If you recommend that I post this somewhere else, like the cpython-GitHub page, I’d be delighted to know.


I messed around a bit more and I think it has to do with the layering of multiple images on top of each other. So when you do create_image() and fill, let’s say: (0, 0) → (50, 50) and then create another image on top of that one. I think, at it’s core, that’s the thing that slows it down.

Actually, I’m not sure anymore Lol. If that were the case I don’t see how the longer showcase version is replicating the problem. Because that one doesn’t actually create images on top of each other.

Thanks in advance!