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.
10 KiB
10 KiB