다중 커서 패키지로 emacs가 느리게 실행


9

html 파일에 다중 커서 패키지를 사용하고 있으며 몇 개의 커서가 훌륭하지만 30 개 또는 50 개가 넘는 커서를 만들면 커서가 이동하는 데 5 ~ 6 초가 소요됩니다.
내가 잘못 사용하고 있습니까? 아니면 많은 커서를 만들 준비가되지 않았습니까?.


2
버퍼에서 무슨 일이 일어나고 있는지에 달려 있습니다-일부 버퍼는 Magnar의 다중 커서에는 더 어렵습니다. 때로는 심각한 둔화없이 수백을 가질 수 있으며 때로는 몇 몇 (말하자 wdired-mode) 만 느려지는 경우가 있습니다. 여러 커서 기능을 C 소스 코드로 이동하기 위한 공개 기능 요청 ( debbugs.gnu.org/cgi/bugreport.cgi?bug=22873 )이 있지만 현재 진행중인 토론입니다. 내가 제안한 Emacs 개발 팀의 판매 포인트 중 하나는 C 코드 기반으로 구워 졌을 때 속도가 잠재적으로 향상되었다는 것입니다.
lawlist

3
나는 해결책이 없지만 나에게도 같은 느림을 확인하고 싶었다. 문제가 글꼴 잠금 문제로 추적 되어도 놀라지 않을 것입니다. 글꼴 잠금을 전체적으로 해제하면 커서가 다시 빠르게 나타납니다.
Emacs 사용자

1
...이 경우 다중 커서로 인해 속도 저하가 직접 발생하지는 않습니다 (사용 속도가 느려질 때만 영향을 미치는 경우에도 마찬가지 임). 나는 M-x profiler-start느린 것들을 많이 한 다음에 M-x profiler-report, 특정 라이브러리 (있는 경우)에 격리 할 수있을 때까지 CPU 시간의 대부분을 차지하는 항목으로 계속 드릴 다운합니다. 그런 다음 해당 라이브러리를 비활성화하십시오. 작업이 끝나면 프로파일 러를 중지하는 것을 잊지 마십시오.
phils

답변:


5

다중 커서 모드에서 잘 작동하지 않는 보조 모드 목록은을 통해 설정할 수 있습니다 mc/unsupported-minor-modes. 이 목록에 추가 된 모든 모드는 다중 커서 모드로 진입 할 때 비활성화되며 다중 커서 모드에서 탈락하면 다시 활성화됩니다.

다음과 같이이 목록에 항목을 추가 할 수 있습니다

(add-to-list 'mc/unsupported-minor-modes 'flyspell-mode)

이것은 다중 커서 모드의 응답성에 큰 차이를 만듭니다. 가장 큰 영향을 미치는 두 가지 보조 모드는 리넘 모드와 플라이 스펠이라는 것을 알았습니다.


누군가가 왜 flyspell이 일을 느리게 만드는지 설명하고 (또는 flyspell으로 느려짐을 재현하는 간결한 레시피를 제공 할 수 있다면), 문제를 해결하려고 시도 할 수 있습니다.
Stefan

1
나는 느려짐을 프로파일하려고했지만 일관된 패턴을 찾지 못했습니다. 플라이 스펠로 인한 속도 저하는 그리 나쁘지 않다고 말하면서, 내가 아는 모듈은 리넘 모드입니다. Linum 모드를 끄면 한 번에 30 개 커서에서 600 개가 넘는 커서로 이동할 수있었습니다.
Charles Ritchie

재현 가능한 레시피는 먼 길을 갈 것입니다.
Stefan

1
도움을 주셔서 감사합니다!. 이것이 문제인 것 같습니다. 들여 쓰기 안내 모드와 Linum 모드는 비활성화해야합니다 (들여 쓰기 안내를 비활성화하고 Linum을 nlinum으로 대체했습니다). 이제 지연없이 수백 개의 커서를 가질 수 있습니다.
Fabman

0

... 30 또는 50 개 이상의 커서가 너무 느려집니다.

임시 해결책은 다음과 같습니다.이 변수를 조정하십시오.

mc/max-cursors

해결 방법으로 30보다 작은 값으로 설정하십시오. 기본값은 nil이며 제한이 없습니다. 속도를 복원하는 실제 수는 버퍼 유형, 사용 된 글꼴 및 당시 실행중인 다른 항목에 따라 다릅니다. 어쨌든, 당신이 겪고있는 문제는 널리보고되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.