fix: increase GCMH idle delay + reduce idle redisplay

- gcmh-auto-idle-delay-factor: 10 → 20 (less frequent idle GC)
- gcmh-high-cons-threshold: 200MB (GC triggers less often)
- jit-lock-defer-time: 0.5s (deferred fontification)
- redisplay-dont-pause + fast-but-imprecise-scrolling
This commit is contained in:
2026-02-20 11:14:59 +01:00
parent edc63f2ad3
commit d899d00749

View File

@@ -410,6 +410,13 @@
(setq gc-cons-threshold (* 100 1024 1024) ;; 100 MB
gc-cons-percentage 0.6)
;; GCMH — Doom's GC manager. Zvýšit idle delay (default 15s, ale gcmh ho mění)
;; gcmh-idle-delay ovlivňuje jak často se spouští GC v idle → redisplay → Zoom jump
(after! gcmh
(setq gcmh-idle-delay 'auto ;; nebo konkrétní číslo, např. 60
gcmh-auto-idle-delay-factor 20 ;; default 10, zvýšeno pro méně GC
gcmh-high-cons-threshold (* 200 1024 1024))) ;; 200MB → GC se spustí méně často
(add-hook 'focus-out-hook #'garbage-collect)
(setq doom-modeline-refresh-rate 5.0) ;; zvýšeno — méně redraws pro macOS Zoom
@@ -445,6 +452,12 @@
(add-hook 'after-make-frame-functions
(lambda (_f) (send-string-to-terminal "\e[?12l"))))
;; Inhibit redisplay during idle — radikální řešení pro Zoom jumping
;; Potlačí Emacs redisplay pokud se nic nezměnilo
(setq redisplay-dont-pause t) ;; dokončit redisplay najednou, ne po částech
(setq jit-lock-defer-time 0.5) ;; odložit fontifikaci (způsobuje redisplay)
(setq fast-but-imprecise-scrolling t) ;; méně redraws při scrollu
;; Auto-revert: zvýšit interval, vypnout VC info check
(setq auto-revert-interval 30)
(setq auto-revert-check-vc-info nil)