Birden çok imleç paketi emacs yavaş çalışır yapar


9

Bir html dosyasında Çoklu İmleçler paketini kullanıyorum ve birkaç imleç için harika ama 30 veya 50'den fazla imleç oluşturursam çok yavaş oluyor ve sadece imleçleri hareket ettirmek yaklaşık beş veya altı saniye sürüyor.
Yanlış mı kullanıyorum yoksa sadece o kadar çok imleç yaratmaya hazır değil mi?


2
Tamponda neler olduğuna bağlıdır - bazı tamponlar Magnar'ın çoklu imleçleri için daha zordur. Bazen önemli bir yavaşlama olmadan birkaç yüze sahip olabilirim ve bazen sadece birkaç tane (diyelim wdired-mode) yavaşlamaya neden olur. Birden çok imleç özelliğini C kaynak koduna taşımak için açık bir özellik isteği - debbugs.gnu.org/cgi/bugreport.cgi?bug=22873 - var, ancak şu anda hala devam eden bir tartışma var. Emacs geliştirme ekibine teklif ettiğim satış noktalarından biri, C kodu tabanına pişirilirse hızda potansiyel bir artıştı.
hukukçu

3
Bir çözümüm yok ama benim için de aynı yavaşlığı doğrulamak istedim. Sorun yazı tipi kilidi sorunlarına kadar takip edilirse şaşırmazdım. Yazı tipi kilidini global olarak ayarladığımda, imleçler tekrar titriyor.
Emacs Kullanıcısı

1
... bu durumda çoklu imleçler yavaşlamalara doğrudan neden olmazdı (yavaşlık sadece onu kullanırken bir faktör olsa bile). Ben M-x profiler-startbir sürü yavaş şeyler yapmak ve yapmak ve daha sonra M-x profiler-report, belirli bir kütüphaneye (eğer varsa) izole edene kadar CPU zamanının çoğunu alarak öğe (ler) içine delme devam; ardından bu kitaplığı devre dışı bırakmayı deneyin. İşiniz bittiğinde profil oluşturucuyu durdurmayı unutmayın.
phils

Yanıtlar:


5

Birden çok imleç modu ile iyi oynatılmayan küçük modların bir listesi aracılığıyla ayarlanabilir mc/unsupported-minor-modes. Bu listeye eklenen tüm modlar, birden çok imleç moduna girilirken devre dışı bırakılacak, birden fazla imleç modundan çıktığınızda yeniden etkinleştirilecektir.

Bu listeye şu şekilde bir öğe ekleyebilirsiniz:

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

Bu, birden çok imleç modunun yanıt verebilirliğinde büyük bir fark yaratır. En büyük etkiye sahip iki küçük modun linum modu ve flyspell olduğunu buldum.


Birisi flyspell'in neden yavaşladığını açıklayabilir (veya yavaşlığı flyspell ile yeniden üretmek için özlü bir reçete verebilir), belki sorunu çözmeyi deneyebiliriz.
Stefan

1
Yavaşlığın profilini oluşturmaya çalıştım, ancak tutarlı bir model bulamadım. Flyspell tarafından verilen yavaşlığın çok kötü olmadığı söylenir, çok daha kötü bulduğum modül linum modudur. Linum modunu kapatmak, bir seferde 30 imleçten 600'ün üzerine çıkmama izin verdi.
Charles Ritchie

Tekrarlanabilir bir tarif uzun bir yol kat eder.
Stefan

1
Yardım için teşekkürler!. sorun bu gibi görünüyor. Girinti kılavuzu modu ve devre dışı bırakmam gerekenleri Linum modu (girinti kılavuzunu devre dışı bıraktım ve Linum'u nlinum ile değiştirdim). Artık yüzlerce imleci gecikmeden alabiliyorum.
Fabman

0

... 30 veya 50'den fazla imleç çok yavaşlıyor ....

İşte geçici bir çözüm: bu değişkeni ayarlayın

mc/max-cursors

geçici bir çözüm olarak 30'dan küçük bir değere. Varsayılan sıfırdır, yani sınır yoktur. Hızı geri yüklemek için gerçek sayı, arabellek türüne, kullanılan yazı tiplerine ve o anda çalışan başka bir şeye bağlıdır. Her durumda, yaşadığınız sorun yaygın olarak bildirilmiştir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.