Emacs बिंदु (कर्सर) आंदोलन अंतराल


12

दौड़ते समय previous-line, C-pया <up>कर्सर बिना किसी मुद्दे या लैग के एक पंक्ति को कूदता है। जब चल रहा है next-line, C-nया <down>कर्सर ठीक से एक पंक्ति नीचे कूदता है, लेकिन एक महत्वपूर्ण अंतराल के साथ। जब मैं नीचे की कुंजी रखता हूं तो मैं बिंदु को हिलता हुआ भी नहीं देख सकता, यह बस नीचे कहीं दिखाई देता है। मैं Emacs प्रोफाइलर भाग गया और ऐसा लगता है कि अपराधी है cl-position। यह क्या काम करता है कि previous-lineशाब्दिक रूप से सिर्फ कर्सर चलता है, जबकि next-lineपूरे कार्यों को चलाता है।

प्रोफाइलर उत्पादन

मुद्दा क्या है और इसे कैसे तय किया जा सकता है?


क्या आप उपयोग कर रहे हैं visual-line-mode? क्या आपके पास कुछ बहुत लंबी लाइनें हैं?
आकर्षित किया

मैं उपयोग नहीं करता हूं visual-line-modeऔर मेरे पास कोई लंबी लाइनें नहीं हैं।
डेमियन च्रोज़ोव्स्की

जवाबों:


23

मैंने अपने प्रश्न का उत्तर शरारती बिट और गुगली को कम करने के माध्यम से पाया है। मैं अंतराल 10 समय को कम करने में कामयाब रहा हूँ !!!! मेरा मतलब है .... यह समझ में आता है कि next-lineएक कर्सर को नीचे ले जाने के लिए कितनी कंप्यूटिंग शक्ति का उपयोग किया गया था?!?

जोड़:

इस कोड को अपने init.el में डालें: (setq auto-window-vscroll nil)

सबूत:

लैग काफी कम हो गया

अब next-lineट्रिगर नहीं है line-move-partialइसलिए अंतराल को कम करना। मुझे सेटिंग करना याद नहीं auto-window-vscrollहै t। यह मेरी किसी भी .elफाइल में कहीं भी नहीं था , मुझे यकीन नहीं है कि इसे कैसे tशुरू करने के लिए सेट किया गया था। इसलिए अगर किसी के पास कर्सर की गति के साथ कोई प्रदर्शन समस्या है, तो उपरोक्त सुधार से लगभग 50% -80% cpu समय से 5% cpu समय कम हो जाएगा !!!

यह देखने के लिए कि क्या आप प्रभावित हैं, बस चलाएं C-h v auto-window-vscroll। यदि यह आपके लिए सेट है tतो हो सकता है कि आपके पास प्रदर्शन की बड़ी समस्याएं हों। यदि कर्सर आंदोलन वास्तव में अंतराल का कारण बनता है, तो Emacs प्रोफाइलर के साथ सत्यापित करें।

बेस्ट ऑफ लक साथी Emacs प्रेमियों !!!

फिक्स का स्रोत


कृपया इसके लिए Emacs bug (या एन्हांसमेंट रिक्वेस्ट) दाखिल करने पर विचार करें M-x report-emacs-bug:।
आकर्षित किया

2
करेंगे, जैसा कि मैं देख रहा हूं कि यह बहुत से लोगों के लिए एक समस्या है।
डेमियन च्रोज़ोव्स्की

1
धन्यवाद, डेमियन, यह प्रदर्शन में सुधार करता है, लेकिन मुझे अभी भी थोड़ा असम्मान महसूस होता है
नीरज वर्मा

3

मुझे पूरी तरह से यकीन नहीं है कि समस्या क्या है, लेकिन आपकी प्रोफाइलर रिपोर्ट बताती है कि पॉस-ऑन-पॉइंट अपेक्षा से अधिक रेडिसप्ले करता है, जिसके कारण मोड-लाइन का पुनर्संयोजन होता है, और पावरलाइन को याद करने के लिए अधिक प्रयास करना चाहिए मॉडलिन के लिए इसकी गणना।

IOW, मैं आपको सुझाव देता हूं M-x report-emacs-bugऔर आप पावरलाइन मेंटेनर्स को बग की सूचना भी दे सकते हैं।


0

ऐसा लगता है कि आप पावरलाइन का उपयोग कर रहे हैं। विशेष रूप से, आप अपने मॉडल में प्रोजेक्टाइल प्रोजेक्ट नाम प्रदर्शित कर रहे हैं। प्रक्षेप्य पैकेज में हाल ही में कुछ सुधार हुए हैं जिन्होंने कुछ को कम किया है। सुनिश्चित करें कि आप अद्यतित हैं।

https://github.com/bbatsov/projectile/issues/1212

https://github.com/bbatsov/projectile/pull/1213

यह उन कार्यों को याद करना संभव है जो मॉडलइन कॉल करता है। मैंने इसे बहुत तेज़ी से बनाने के लिए अपने मॉडलइन पर बहुत कुछ किया है।


समस्या पहले से ही हल हो गई है, प्रक्षेप्य या विद्युत लाइन समस्या नहीं थी
डेमियन क्रिज़ोवस्की

मुझे खुशी है कि आपने इसे सुलझा लिया। आपकी प्रोफ़ाइल ने प्रक्षेप्य से आने वाली मंदी की ओर इशारा किया। यह हो सकता है कि ऑटो-विंडो-vscroll को nil में सेट करने से सिर्फ अनावश्यक मोड-लाइन गणना को छोड़ने के लिए emacs का कारण बनता है। किसी भी तरह से, खुशी है कि आप इसे मिला!
आरोन जेनसेन

यह एक अच्छी बात है। मेरे पास यह जांचने का समय नहीं था कि कौन सा पैकेज समस्या है। सुझावों के लिए धन्यवाद!
डेमियन च्रोज़ोवस्की

0

मैंने देखा कि मेरा doom-modelineभी योगदान है। वास्तव में, यह कहा जाता है doom-modeline:

 ;; If it brings the sluggish issue, disable `doom-modeline-enable-word-count' or
 ;; remove the modes from `doom-modeline-continuous-word-count-modes'.

सेट करने के बाद (setq doom-modeline-enable-word-count nil)मुझे कर्सर आंदोलनों में एक ध्यान देने योग्य गति-अप मिला।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.