Hi MRAB Yes, I am pasting every time the mouse moves (or every time the tk event handler gets called). I thought about the after method, and I guess i can try to implement that. It seems like that would help in the "jerkiness" of the GUI's response, but it leaves me kinda disappointed. I obviously do not understand the inner workings of PIL or tk, but it seems kinda broken that it must take 0.2 sec to adjust a palette. This GUI is a rewrite of a code I had in another language, and this palette modifying was much faster.
I'll try the after method, hoping it'll at least make the GUI a bit more responsive. Thanks again! Russell On Tuesday, January 24, 2017 at 8:08:53 AM UTC-5, MRAB wrote: > On 2017-01-24 07:09,@gmail.com wrote: > > I'm trying to build a tkinter GUI with python 3.5, and would like to > > interactively adjust the color palette for an image by moving the mouse in > > the canvas using PIL. In pseudo-code, I have something like > > > > palette=color_map(x,y) # x,y are scalars indicating the position of the > > mouse in the Canvas > > image.putpalette(palette) > > photo.paste(image) > > > > This works just fine, but is very slow. The photo.paste(image) step takes > > about 0.15 s (using an image that is 4k x 4k). I read the manual on > > effbot, and they caution that the paste method would be slow if the image > > is display --- and I'm guessing that's what I'm doing. So my question is, > > what alternatives do I have to speed that step up. > > > > Thank you for any thoughts you might have... > > -Russell > > > How often are you pasting? > > Are you pasting whenever the mouse moves, even a little? > > If that's the case, try using the .after method to paste only > occasionally, and then only if the mouse has moved since the last time. -- https://mail.python.org/mailman/listinfo/python-list