Greetings,
I would like to inquire about the following longstanding behavior:
TeXmacs continuously executes GUI update cycle while idle (≈4% CPU on Apple Silicon macOS)
Version
TeXmacs 2.1.5
Apple Silicon M2
macOS Tahoe 26.6 (25G72)
Observed behavior
When TeXmacs is completely idle, the process continuously consumes about 4% CPU according to Activity Monitor.
This is not specific to Tahoe. I have observed the same behavior on previous macOS releases for many years, sometimes as high as about 10% CPU depending on the machine and TeXmacs version.
The CPU usage is present while the editor is idle, with no typing or background activity. It also persists when the application is hidden or minimized.
Sampling results
A sample of the process shows that the main thread spends most of its time sleeping in the Cocoa event loop, but is periodically awakened by a Qt timer:
QCocoaEventDispatcherPrivate::activateTimersSourceCallback
QTimerInfoList::activateTimers
QTimer::timerEvent
QTMGuiHelper::doUpdate()
qt_gui_rep::update()
tm_server_rep::interpose_handler()
edit_interface_rep::apply_changes()
The update path is entered repeatedly even though the editor is idle.
In several independent samples, the same call chain appears consistently.
Expected behavior
When there are no pending editor changes, I would expect the GUI update machinery either not to be invoked or to return almost immediately, resulting in negligible idle CPU usage.
I can provide the full sample output if it would be useful.
I am not in a position to call this a bug because the stack trace only shows where time is spent, not necessarily why. The developers are in the best position to decide whether this behavior is intentional.
If this behavior is expected, it would be useful to know which component requires the periodic updates.
Best regards,
Fatihcan Atay
_______________________________________________
Texmacs-dev mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/texmacs-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.