patches: fix O(position) performance via UAZoomEnabled caching
Root cause (per Opus analysis): UAZoomEnabled() is a synchronous Mach IPC roundtrip to macOS Accessibility server, called 3x per redisplay cycle. At 60fps = 180 IPC roundtrips/second blocking the main thread. Combined with Emacs's inherent O(position) redisplay cost, this compounded into progressive choppy behavior. Fix 1: ns_zoom_enabled_p() caches UAZoomEnabled() for 1 second. Fix 2: ns_zoom_track_completion() rate-limited to 2 Hz. Also includes BUF_CHARS_MODIFF fix (patch 0009) for VoiceOver cache.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
From 8c67a2b5a89ac302cbac91790fdfb6827b74285a Mon Sep 17 00:00:00 2001
|
||||
From e04d6ef8808c1e00b37fca85e6ac0a7f6104bdb7 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Sukany <martin@sukany.cz>
|
||||
Date: Sat, 28 Feb 2026 12:58:11 +0100
|
||||
Subject: [PATCH 05/10] ns: add interactive span elements for Tab navigation
|
||||
Subject: [PATCH 05/11] ns: add interactive span elements for Tab navigation
|
||||
|
||||
* src/nsterm.m (ns_ax_scan_interactive_spans): New function.
|
||||
(EmacsAccessibilityInteractiveSpan): Implement AXButton/AXLink
|
||||
|
||||
Reference in New Issue
Block a user