में रीफ्रेश सीमाएं फिर से मैं एक ऐसे प्रश्न के लिए क्षमा चाहता हूं जो आप सभी के लिए आसान हो। सिल्वरलाइट में दृश्यों के पीछे क्या है, इसकी सीमित समझ है।डिस्पैचर टाइमर और यूआई सी # चांदी की रोशनी
मेरे पास एक चार्टिंग ऐप (Visiblox) है जो मैं रोलिंग स्कोप के रूप में उपयोग करता हूं जो प्रत्येक 20ms को अद्यतन करता है, एक बिंदु जोड़कर और हटा देता है। छद्म कोड में:
List<Point> datapoints= new List<Point>();
Series series = new Series(datapoints);
void timer_tick(){
datapoints.Add(new Point);
datapoints.RemoveAt(0);
// no need to refresh chart, it does refresh automatically
}
इस चार्टिंग टूल में 6 श्रृंखला चलाते समय, यह थोड़ा सुस्त दिखाना शुरू कर दिया। टिक को 10ms तक बदलना कोई फर्क नहीं पड़ता, चार्ट को उसी गति से अपडेट किया गया था, इसलिए ऐसा लगता है कि 20ms गति सीमा (UI या चार्ट?) है।
मैंने CompositionTarget.Rendering
के साथ प्रयास किया और उसी परिणाम प्राप्त किए: नीचे 20ms गति में कोई अंतर नहीं था।
तब मैंने गलती से दोनों को गति और गति दोगुना कर दिया। तो मैंने कई धागे (2, 3, 4) और गति दोगुना, तीन गुना और चौगुनी के साथ परीक्षण किया। इसमें अभी तक कोई तालाब नहीं है, क्योंकि मुझे यह भी नहीं पता कि मुझे लॉक उत्पन्न करने के लिए किस प्रक्रिया की आवश्यकता है, लेकिन कोई डेटा भ्रष्टाचार नहीं मिला है और न ही स्मृति लीक है।
मेरे पास सवाल यह है कि क्यों 20ms पर एक आलसी चार्ट 10ms पर नहीं चल सकता है लेकिन बहुप्रचारित होने पर हास्यास्पद रूप से तेज़ है? क्या यूआई रीफ्रेश प्रक्रिया तेजी से चल रही है? क्या चार्ट गणना दोगुनी है? या क्या कोई सीमा है कि एक डिस्पैचर टिमर को कितनी तेजी से निष्पादित किया जा सकता है?
धन्यवाद!
संपादित करें: मैं एम्बेडेड कोडिंग की एक पृष्ठभूमि है, इसलिए जब मैं धागे और समय के बारे में सोच, मैं तुरंत हार्डवेयर में एक पिन टॉगल के बारे में सोच और प्रक्रिया लंबाई को मापने के लिए एक गुंजाइश ऊपर हुक। मैं सी # में धागे के लिए नया हूं और स्कॉप्स को हुक करने के लिए कोई पिन नहीं है। क्या ग्राफिक रूप से थ्रेड समय देखने का कोई तरीका है?
आप सही हैं। यह एक भ्रम है। धीमी गति से चार्ट की 'रोलिंग' आपकी आंखों से ट्रैक करना आसान है और आलसी आसानी से पता चला है, लेकिन एक समय में एक से अधिक बिंदुओं को अपडेट करना, आलसी देखना मुश्किल है। धन्यवाद! – PaulG