Saat berjalan previous-line
, C-p
atau <up>
kursor melompat garis tanpa ada masalah atau kelambatan. Saat berlari next-line
, C-n
atau <down>
kursor dengan benar melompat ke bawah garis, tetapi dengan jeda yang signifikan. Ketika saya menahan tombol bawah saya bahkan tidak bisa melihat titik bergerak, itu hanya muncul di suatu tempat di bawah ini. Saya menjalankan profiler Emacs dan sepertinya pelakunya cl-position
. Apa yang berhasil adalah bahwa previous-line
secara harfiah hanya menggerakkan kursor, sementara next-line
menjalankan banyak fungsi.
Apa masalahnya dan bagaimana cara memperbaikinya?
visual-line-mode
? Apakah Anda memiliki garis yang sangat panjang?visual-line-mode
dan saya tidak memiliki garis panjang.Jawaban:
Saya telah menemukan jawaban untuk pertanyaan saya dengan mempersempit bagian yang nakal dan googling. Saya telah berhasil mengurangi lag 10 KALI !!!! Maksudku .... Ini gila pada berapa banyak daya komputasi
next-line
yang digunakan untuk memindahkan kursor ke bawah?!?!Cara mengatasinya:
Masukkan kode ini ke init.el Anda:
(setq auto-window-vscroll nil)
Bukti:
Karena itu sekarang
next-line
tidak memiculine-move-partial
mengurangi lag. Saya tidak ingat pengaturanauto-window-vscroll
untukt
. Itu tidak ada di mana pun di.el
file saya , saya tidak yakin bagaimana mengaturnyat
untuk memulai. Jadi jika ada yang memiliki masalah kinerja dengan pergerakan kursor, maka perbaikan di atas akan mengurangi lag dari sekitar 50% -80% waktu cpu menjadi 5% waktu cpu !!!Untuk dengan cepat memeriksa apakah Anda terpengaruh jalankan saja
C-h v auto-window-vscroll
. Jika disetel ket
Anda mungkin memiliki masalah kinerja utama. Verifikasi dengan profiler Emacs jika gerakan kursor memang menyebabkan kelambatan.Best of luck sesama pecinta Emacs !!!
Sumber perbaikan
sumber
M-x report-emacs-bug
.Saya tidak benar-benar yakin apa masalahnya, tetapi laporan profiler Anda tampaknya menunjukkan bahwa posn-at-point melakukan lebih banyak tampilan ulang daripada yang diharapkan, yang pada gilirannya menyebabkan perhitungan ulang dari mode-line, dan bahwa powerline harus melakukan lebih banyak upaya untuk memoize perhitungannya untuk modeline.
TKI, saya sarankan Anda
M-x report-emacs-bug
dan Anda juga dapat melaporkan bug ke pengelola saluran listrik.sumber
Sepertinya Anda menggunakan kabel listrik. Secara khusus, Anda menampilkan nama proyek proyektil dalam modeline Anda. Ada beberapa perbaikan pada paket proyektil baru-baru ini yang telah memitigasi sebagian dari itu. Pastikan Anda up to date.
https://github.com/bbatsov/projectile/issues/1212
https://github.com/bbatsov/projectile/pull/1213
Dimungkinkan juga untuk menghafal fungsi yang dipanggil oleh modeline. Saya sudah melakukan ini banyak pada modeline saya untuk membuatnya sangat cepat.
sumber
Saya perhatikan bahwa saya
doom-modeline
juga berkontribusi terhadap lag. Bahkan, dikatakan dalam dokumendoom-modeline
:Setelah pengaturan
(setq doom-modeline-enable-word-count nil)
saya mendapatkan kecepatan yang terlihat dalam gerakan kursor.sumber