Tk Source Code

View Ticket
Login
Ticket UUID: 547cc6222924ccfd5ca2157c8c96cf24bff62360
Title: Aqua background thread became slower
Type: Bug Version: 9.0
Submitter: marc_culler Created on: 2024-10-11 14:35:55
Subsystem: 11. Aqua Menus Assigned To: marc_culler
Priority: 5 Medium Severity: Minor
Status: Closed Last Modified: 2024-10-13 03:09:03
Resolution: Fixed Closed By: marc_culler
    Closed on: 2024-10-13 03:09:03
Description:
At one time it was the case that if one started the pendulum demo and then
opened a menu on the macOS application menu bar, the pendulum would stop.
The cause was that macOS runs its own separate thread while a menu is open
and that thread steals all events until the menu closes.

This was fixed by creating a background thread which processes timer tasks.
The thread is started when the menu opens and is stopped when the menu
closes.
  
In the current Tk 9.0 the pendulum does not stop, but it runs at half speed.
Something must have changed about the background thread, but I don't know
when or what the change was.
User Comments: marc_culler (claiming to be Marc Culler) added on 2024-10-13 03:09:03:
It turns out that I have access to a macOS 12.7.6 system.  So I can confirm
that the pendulum demo pauses for an instant when a menu is dismissed by
clicking in the demo window.  It looks exactly like your video.  But it
doesn't do that on macOS 14 or 15.  I didn't try macOS 13.

Unfortunately  I don't see anything I can do about that.  I don't think
it is my bug, since it only happens on one version of macOS.  It must be an
Apple bug. But I have no idea where the bug might be.  So, even if Apple
were willing to fix bugs in 3-year-old systems (which I doubt) and if I
were willing to file a bug report (which I am not, having been burned
too many times before), I still wouldn't know what to tell them.  They
certainly would not be willing to compile Tcl and Tk to test it out.

Sorry!

The system I used (2014 mini with 6 core intel core-i7) cannot run anything
newer than macOS 12.  I assume that you are in the same situation, and that
is why you haven't upgraded.

marc_culler (claiming to be Marc Culler) added on 2024-10-12 22:28:38:
I just tested on macOS Sequoia.  I don't see any pause in the pendulum there
either.  But I do see a difference, which surprises me.  On Sequoia when I
start wish from the terminal the Wish app does not activate.  The Terminal
remains the active app.  That will require some attention too, I am afraid.

Also, something even weirder.  On Sequoia the pendulum goes the same speed
in Tk 9.0 as in Tk 8.6.  But on Sonoma it is much slower.  I have no idea
what that could be about.

nab added on 2024-10-12 21:59:26:
macOS 12.7.6

marc_culler (claiming to be Marc Culler) added on 2024-10-12 21:55:43:
I don't see that behavior at all on macOS Sonoma.  What system are
you using?

nab added on 2024-10-12 21:19:45:
I've attached a video of what I'm seeing.
the first time menu is unposted using Esc (pendulum does not stop), second time menu is unposted when clicking somewhere in the window (pendulum is briefly stoping)

++

marc_culler (claiming to be Marc Culler) added on 2024-10-12 20:37:27:
Hi Nicolas,  I just tested that with the tip of the aqua_color branch
and I was not able to see any difference between hitting Esc and clicking
on the pendulum window.  I did not see any glitch in the animation either
way.

nab added on 2024-10-12 17:29:05:
Hi Marc,
even if you closed this ticket I would just let you know something about the pendulum demo.

run it.

if you pop-up a menu and use Esc to remove it the pendulum does not stop.
if you pop-up a menu and click inside the 'pendulumSimulation' or inside the 'pahseSpace', the pendulum briefly stops.

in my real app it means that things are briefly stopped when I exit a posted menu by clicking somewhere else, but not when I use Esc to exit the posted menu.

best regards,
nicolas

marc_culler (claiming to be Marc Culler) added on 2024-10-12 16:49:33:
Closing this, since the problem has disappeared with the aqua_color branch
(which changes other things related to updating the display not related to
colors).

Attachments: