एकाधिक कर्सर पैकेज इमैक को धीमी गति से चलाते हैं


9

मैं एक html फ़ाइल में पैकेज एकाधिक कर्सर का उपयोग कर रहा हूं और यह कुछ कर्सर के लिए बहुत बढ़िया है, लेकिन अगर मैं 30 या 50 से अधिक कर्सर बनाता हूं तो यह बहुत धीमा हो जाता है और इसे कर्सर को स्थानांतरित करने में सिर्फ पांच या छह सेकंड लगते हैं।
क्या मैं इसे गलत इस्तेमाल कर रहा हूँ या यह सिर्फ इतना है कि यह बहुत सारे अभिशाप बनाने के लिए तैयार नहीं है?


2
यह इस बात पर निर्भर करता है कि बफर में क्या चल रहा है - कुछ बफ़र मैगनर के कई-अभिशापों के लिए अधिक कठिन हैं। कभी-कभी मैं एक महत्वपूर्ण मंदी के बिना कुछ सौ हो सकता है, और कभी-कभी बस कुछ (चलो कहते हैं wdired-mode) मंदी का कारण बनता है। C स्रोत कोड में कई कर्सर क्षमताओं को स्थानांतरित करने के लिए एक खुली सुविधा का अनुरोध है - debbugs.gnu.org/cgi/bugreport.cgi?bug=22873 -, लेकिन यह अभी भी एक चल रही चर्चा है। Emacs विकास टीम के लिए मेरे प्रस्तावित विक्रय बिंदुओं में से एक गति में संभावित वृद्धि थी यदि इसे C कोड बेस में बेक किया गया था।
कानून १४:१४ को १४:१४

3
मेरे पास कोई हल नहीं है, लेकिन मेरे लिए भी उसी धीमेपन की पुष्टि करना चाहता था। अगर समस्या फॉन्ट-लॉक समस्याओं का पता लगाती है तो मुझे आश्चर्य नहीं होगा। जब मैं फॉन्ट लॉक ऑफ ग्लोबली ट्यून करता हूं, तो श्रोता फिर से दुखी हो जाते हैं।
Emacs यूजर

1
... जिस स्थिति में कई-शापर्स धीमी गति से सीधे-सीधे कारण नहीं बनेंगे (भले ही धीमापन केवल एक कारक हो जब आप इसका उपयोग कर रहे हों)। मैं M-x profiler-startधीमी चीज़ों का एक गुच्छा और फिर करूँगा M-x profiler-report, और सीपीयू समय के अधिकांश हिस्से को आइटम (एस) में नीचे रखना होगा जब तक कि आप इसे किसी विशेष पुस्तकालय (यदि कोई हो) से अलग कर सकते हैं; फिर उस लाइब्रेरी को अक्षम करने का प्रयास करें। जब आप इसके साथ समाप्त कर लें तो प्रोफाइलर को रोकना न भूलें।
फिल्स

जवाबों:


5

ऐसे छोटे मोड की सूची, जो कई कर्सर मोड के साथ अच्छी तरह से नहीं खेलते हैं, के माध्यम से सेट किया जा सकता है mc/unsupported-minor-modes। इस सूची में जोड़े गए किसी भी मोड को कई कर्सर मोड में प्रवेश करते समय अक्षम कर दिया जाएगा, जब आप एकाधिक कर्सर मोड से बाहर निकल जाते हैं तो उन्हें फिर से सक्षम किया जाएगा।

आप इस सूची में एक आइटम जोड़ सकते हैं जैसे

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

यह कई कर्सर मोड की जवाबदेही के लिए एक बड़ा अंतर बनाता है। मैंने पाया कि दो सबसे छोटे मोड्स में सबसे बड़ा प्रभाव लाइनम मोड और फ्लाईस्पेल का था।


यदि कोई व्यक्ति यह बता सकता है कि फ्लाईस्पेल चीजें धीमी क्यों करती हैं (या फ्लाईस्पेल के साथ धीमेपन को पुन: पेश करने के लिए एक संक्षिप्त नुस्खा दे), तो शायद हम कोशिश कर सकते हैं और समस्या को ठीक कर सकते हैं।
स्टीफन

1
मैंने धीमापन को प्रोफाइल करने की कोशिश की है, लेकिन कोई सुसंगत पैटर्न नहीं खोज सका है। यह कहा जा रहा है कि फ्लाईस्पेल द्वारा पेश की गई सुस्ती बहुत खराब नहीं है, जो मॉड्यूल मुझे बहुत बुरा लगता है वह है लिनम मोड। लाइनम मोड को बंद करने से मुझे 600 से अधिक समय में 30 अभिशापों से जाने की अनुमति मिली।
चार्ल्स रिची

एक प्रजनन योग्य नुस्खा एक लंबा रास्ता तय करेगा।
स्टीफन

1
सहायता के लिए धनयवाद!। ऐसा लगता है कि यह समस्या थी। इंडेंट-गाइड-मोड और लाइनम-मोड जहां मुझे अक्षम करना है (मैंने इंडेंट-गाइड को निष्क्रिय कर दिया है और लिनुम को नेलिनम से बदल दिया है)। अब मैं बिना किसी अंतराल के सैकड़ों श्राप देने में सक्षम हूं।
फेबमैन

0

... 30 या 50 से अधिक शाप देने वालों में यह बहुत धीमी गति से होता है ...।

यहाँ एक अस्थायी समाधान है: इस चर को समायोजित करें

mc/max-cursors

वर्कअराउंड के रूप में 30 से कम मूल्य पर। डिफ़ॉल्ट शून्य है, जिसका अर्थ है कोई सीमा नहीं। गति को पुनर्स्थापित करने के लिए वास्तविक संख्या बफर प्रकार, उपयोग किए गए फोंट, और उस समय जो कुछ भी चल रहा है, उस पर निर्भर करता है। किसी भी मामले में, आपको जो समस्या हो रही है वह व्यापक रूप से रिपोर्ट की गई है।

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