docs/faq: "Why is scrolling slow"->"Why is Emacs slow"
Expand on this question and mention Emacs 27 and gccemacs as solution.
This commit is contained in:
parent
1e0cd6ddce
commit
f99c3fb3a0
1 changed files with 21 additions and 13 deletions
34
docs/faq.org
34
docs/faq.org
|
@ -17,7 +17,7 @@
|
||||||
- [[#what-is-the-meaning-behind-dooms-naming-convention-in-its-source-code][What is the meaning behind Doom's naming convention in its source code?]]
|
- [[#what-is-the-meaning-behind-dooms-naming-convention-in-its-source-code][What is the meaning behind Doom's naming convention in its source code?]]
|
||||||
- [[#what-version-of-doom-am-i-running][What version of Doom am I running?]]
|
- [[#what-version-of-doom-am-i-running][What version of Doom am I running?]]
|
||||||
- [[#is-discord-the-only-option-for-interacting-with-your-community][Is Discord the only option for interacting with your community?]]
|
- [[#is-discord-the-only-option-for-interacting-with-your-community][Is Discord the only option for interacting with your community?]]
|
||||||
- [[#why-is-scrolling-slow-in-emacsdoom][Why is scrolling slow in Emacs/Doom?]]
|
- [[#why-is-emacsdoom-slow][Why is Emacs/Doom slow?]]
|
||||||
- [[#configuration][Configuration]]
|
- [[#configuration][Configuration]]
|
||||||
- [[#does-doom-respect-xdg-conventions][Does Doom respect XDG conventions]]
|
- [[#does-doom-respect-xdg-conventions][Does Doom respect XDG conventions]]
|
||||||
- [[#how-do-i-configure-doom-emacs][How do I configure Doom Emacs?]]
|
- [[#how-do-i-configure-doom-emacs][How do I configure Doom Emacs?]]
|
||||||
|
@ -450,7 +450,7 @@ better suited to the task. I already have my hands full managing the one.
|
||||||
Email is a possible alternative, but is constantly swamped; expect a long
|
Email is a possible alternative, but is constantly swamped; expect a long
|
||||||
turn-around time.
|
turn-around time.
|
||||||
|
|
||||||
** Why is scrolling slow in Emacs/Doom?
|
** Why is Emacs/Doom slow?
|
||||||
This comes up often. The first thing folks fresh off the boat from other editors
|
This comes up often. The first thing folks fresh off the boat from other editors
|
||||||
will notice is that Emacs has a low threshold for performance issues. It doesn't
|
will notice is that Emacs has a low threshold for performance issues. It doesn't
|
||||||
take much to get it to scroll like molasses.
|
take much to get it to scroll like molasses.
|
||||||
|
@ -462,16 +462,23 @@ that's before we factor in plugins and poorly optimized major modes.
|
||||||
|
|
||||||
There is an unfortunate but necessary adjustment of expectations new users must
|
There is an unfortunate but necessary adjustment of expectations new users must
|
||||||
undergo, when they adopt Emacs. Doom has inherited this curse. It's raison
|
undergo, when they adopt Emacs. Doom has inherited this curse. It's raison
|
||||||
d'etre is to improve the situation, but I can only go so far. You /will/ find
|
d'etre is to improve the situation, but I can only go so far, especially if you
|
||||||
cases where Emacs just scrolls slowly.
|
choose to enable all the most expensive features. You will unavoidable find
|
||||||
|
cases where Emacs *is just slow*.
|
||||||
|
|
||||||
What can you do about it?
|
What can you do about it?
|
||||||
|
|
||||||
1. Disable some of Doom's slowest modules. The biggest offenders tend to be:
|
1. Upgrade to Emacs 27. This should yield a noteworthy gain in general
|
||||||
=:ui tabs=, =:ui indent-guides=, =:ui pretty-code=, and =:ui word-wrap=.
|
performance, particularly for LSP users.
|
||||||
2. Turn off line numbers ~(setq display-line-numbers-type nil)~. It's known to
|
2. Try out [[http://akrl.sdf.org/gccemacs.html][gccemacs]], which promises significant strides in Emacs performance,
|
||||||
|
but can be a bit of a hassle to set up. There are packages available for
|
||||||
|
[[https://aur.archlinux.org/packages/emacs-native-comp-git/][Arch Linux]], [[https://github.com/flatwhatson/guix-channel][Guix]] and [[https://github.com/nix-community/emacs-overlay][Nix users]]. [[https://www.emacswiki.org/emacs/GccEmacs][More information available on EmacsWiki]].
|
||||||
|
3. Disable some of Doom's slowest modules. The biggest offenders tend to be:
|
||||||
|
=:ui tabs=, =:ui indent-guides=, =:ui pretty-code=, =:ui word-wrap= and =:ui
|
||||||
|
vc-gutter=.
|
||||||
|
4. Turn off line numbers ~(setq display-line-numbers-type nil)~. It's known to
|
||||||
slow down scrolling, in particular.
|
slow down scrolling, in particular.
|
||||||
3. Org users can turn off ~org-superstar-mode~: ~(remove-hook 'org-mode-hook
|
5. Org users can turn off ~org-superstar-mode~: ~(remove-hook 'org-mode-hook
|
||||||
#'org-superstar-mode)~. It's an aesthetic plugin that offers fancier bullets.
|
#'org-superstar-mode)~. It's an aesthetic plugin that offers fancier bullets.
|
||||||
Emacs seems to struggle to display those characters with some fonts.
|
Emacs seems to struggle to display those characters with some fonts.
|
||||||
|
|
||||||
|
@ -484,15 +491,16 @@ What can you do about it?
|
||||||
org-hide-leading-stars nil
|
org-hide-leading-stars nil
|
||||||
org-startup-indented nil))
|
org-startup-indented nil))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
4. Turn on =M-x so-long-minor-mode=. This is a minor mode that disables
|
6. Turn on =M-x so-long-minor-mode=. This is a minor mode that disables
|
||||||
non-essential functionality and can be used to temporarily view files that
|
non-essential functionality and can be used to temporarily view files that
|
||||||
would be too slow otherwise. =M-x so-long-mode= is its extreme version; it
|
would be too slow otherwise. =M-x so-long-mode= is its extreme version; it
|
||||||
turns off /everything/, including syntax highlighting.
|
turns off /everything/, including syntax highlighting.
|
||||||
5. Try replacing the =:ui modeline= module with =:ui (modeline +light)=. There
|
7. Try replacing the =:ui modeline= module with =:ui (modeline +light)=. There
|
||||||
are aspects of the default modeline that can be unpredictably slow.
|
are aspects of the default modeline that can be unpredictably slow.
|
||||||
6. Don't mash =j= (or =C-n=) to scroll. Evil users can scroll long distances
|
8. Don't mash =j= (or =C-n=) to scroll. Evil users can scroll long distances
|
||||||
with =C-d= and =C-u=, for instance, to avoid that slowness. Otherwise, use
|
with =C-d= and =C-u=, for instance, or evil-easymotion under =gs=, to avoid
|
||||||
search mechanisms to move around, like isearch (=C-s=) or evil-search (=/=).
|
that slowness. Otherwise, use search mechanisms to move around, like isearch
|
||||||
|
(=C-s=) or evil-search (=/=).
|
||||||
|
|
||||||
* Configuration
|
* Configuration
|
||||||
** Does Doom respect XDG conventions
|
** Does Doom respect XDG conventions
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue