Estou escrevendo um documento e tenho um problema com o desempenho do Emacs que acho que apareceu ontem. Não fiz alterações no meu arquivo init nem instalei novos pacotes.
O problema é que enquanto estou escrevendo, há um atraso muito perceptível entre pressionar as letras no teclado e fazê-las aparecer na tela. Às vezes, eu os assisto ainda imprimindo na tela depois de terminar de digitar a palavra.
Não sei se há outros problemas, exceto a velocidade da digitação (só posso supor que existem), mas não os notei.
O que pode causar esse problema?
É causado pelo Emacs ou é devido ao desempenho do meu pc? Geralmente, quais são as variáveis que afetam o desempenho do Emacs?
A versão do meu Emacs é GNU Emacs 24.3.1
O principal modo ativo é:
- Látex
e os modos ativos menores são:
- Autocompletar
- Composição Automática
- Compressão automática
- Criptografia automática
- Cursor intermitente
- Nome do arquivo Sombra
- Bloqueio de fonte
- Global-Auto-Complete
- Global-Font-Lock Global-Hl-Line
- Número da linha
- Roda do mouse
- Shell-Dirtrack
- Show-Paren
- Smartparens
- Smartparens-Global
- Dica de ferramenta Transient-Mark
fonte
C-h m
irá revelar o modo principal e todos os modos secundários ativos. Você pode desativar lentamente cada modo menor até localizar a causa. Pode ser o próprio modo principal, mas os modos secundários são os suspeitos mais prováveis. Sem especificar quais modos você está usando, qualquer um aqui ficaria esfaqueado no escuro com o que está acontecendo com o seu problema. Tenho uma situação rara que ocorre com algumas imagens especiais - por exemplo, quando alguém me envia algo com um símbolo de telefone ou outros símbolos especiais no iPhone - mas esse é um problema de desaceleração isolado causado por símbolos especiais.linum-mode
diminui o desempenho em buffers grandes.nlinum-mode
escrito por Stefan é melhor para buffers maiores.Respostas:
O Emacs tem cerca de 50.000 variáveis internas e alguns milhares de pacotes externos com uma média de algumas dúzias de variáveis cada, você não pode esperar que alguém responda a isso em um sentido geral. :-)
Você pode ver isso apenas olhando para o tópico de comentários em sua pergunta. Há meia dúzia de sugestões diferentes, todas igualmente válidas.
O que você pode fazer para identificar o problema?
Opção 1: desativar modos
Comece a desativar os modos secundários listados e veja qual deles resolve o problema de desempenho. Gostaria de começar com
smartparens
,auto-complete
,line-number
efont-lock
, em seguida, siga para baixo na lista."Eu não tive esse problema ontem" significa muito pouco, não confie nele demais. Basta começar a desativar os modos menores até que algo o resolva.
Se nenhum dos modos secundários resolver seu problema, comece a comentar partes do seu arquivo init até descobrir qual trecho estava causando isso. De qualquer forma, faça uma nova pergunta quando tiver algo mais específico.
Opção 2: O criador de perfil
M-x profiler-start RET RET
(o segundoRET
é confirmarcpu
);M-x profiler-report
.Isso fornecerá um buffer que descreve o tempo da CPU gasto por cada função. Bater
TAB
em uma linha a expande para exibir as funções dentro dela. Navegue nesse buffer até descobrir qual função está demorando tanto tempo de CPU.O que eu faço depois?
Depois de encontrar a função ou pacote ou trecho causando atraso, você pode (sem ordem específica):
M-x PACKAGE-bug-report
.M-x report-emacs-bug
.help-gnu-emacs
lista de discussão.fonte