कोर एनीमेशन पृष्ठभूमि के धागे का उपयोग करता है ताकि यह काम कर सके। अब समस्या यह है: मेरे पास मुख्य धागे में भारी गणना चल रही है। जब तक गणना पूरी नहीं हो जाती तब तक कोर एनीमेशन तुरंत जमा हो जाता है। और फिर यह अपने एनिमेशन खत्म करना जारी है। मुझे एक दस्तावेज़ में पढ़ना याद है कि सीए की प्रसंस्करण समय में कम प्राथमिकता है, जिसका अर्थ है कि जो भी मुख्य धागा करना चाहता है वह उच्च-प्राइयो है और एक ही समय में किसी भी फैंसी एनीमेशन की तुलना में अधिक संभावना होगी।क्या कोर एनीमेशन को इसके धागे को चलाने के लिए मजबूर करने का कोई तरीका है?
मैं कोर एनीमेशन को किसी भी परिस्थिति में मुख्य धागे के साथ अच्छी तरह से अपने पृष्ठभूमि धागे को शेड्यूल करने के लिए मजबूर करना चाहता हूं। या वैकल्पिक रूप से एक अलग धागा जो मुख्य धागे के बाहर भारी गणना चलाएगा। मैंने पहले से ही कोशिश की है, लेकिन सीए अभी भी पूरा होने तक फ्रीज करता है। मैं उम्मीद करता हूं कि शेड्यूलर सीए और उस गणना के बीच प्रोसेसिंग समय को जल्दी से स्विच कर देगा।
सीए को काम करने के लिए कैसे मजबूर किया जा सकता है? अगर चीजें थोड़ी धीमी हो जाती हैं, तो यह ठीक है। लेकिन सबसे महत्वपूर्ण बात ये है कि सभी चीजें उपयोगकर्ताओं के दृष्टिकोण से चलती रहती हैं।
धन्यवाद। NSOperations टाइमआउट बनाने में सक्षम है? मेरी गणना पहले ही टुकड़ों में टूट गई है। प्रत्येक को 0.05 सेकंड की देरी के साथ निर्धारित किया जाता है। तो वास्तव में कुछ अतिरिक्त समय के बीच में है। हालांकि, जब सीए को शुरुआत में सटीक करना पड़ता है, तो आपके द्वारा प्रतीक्षा करने का विचार -निमेशनडिडस्टार्ट गुग है। मैंने 1 सेकंड के साथ गणना के पहले ब्लॉक से शुरू करने के लिए कॉल में देरी करके बस कोशिश की। सीए एनिमेटिंग शुरू होता है, फिर भारी calclations जगह में आते हैं, और सीए फ्रीज। यह मदद नहीं करता है। मैं एक नए धागे में गणना चला रहा हूँ। –
बिंदु यह है कि डेटा के प्रत्येक ब्लॉक की गणना करने के बाद, यूआई में एक अपडेट हो रहा है। ये अपडेट अपेक्षाकृत तेज़ और चिकनी होते हैं। यह बिल्कुल सही होगा जब इस तरह से इस तरह से शेड्यूल करने का कोई तरीका था कि सीए इस समय सीपीयू का समय साझा करता है ... इन NSOperationQueue चीजों पर नज़र डालने के लिए, हालांकि वे ऐसा नहीं लगता जैसे वे टाइमआउट प्रदान करेंगे देरी प्रदर्शन प्रदर्शनकर्ता कॉल करते हैं (?) –
NSOperationQueue आपके NSOperations के लिए आवश्यकतानुसार धागे बनाता है।यह प्रबंधित करने के बारे में बुद्धिमान है कि कौन से कार्यों का प्रदर्शन किया जाता है, लेकिन मुझे नहीं पता कि आईफोन पर यह किस प्रकार की सिस्टम-स्तरीय जागरूकता है, जो हिम तेंदुए पर है (जहां यह जीसीडी के शीर्ष पर है)। यह कार्यों के बीच निर्भरताओं का भी समर्थन करता है, जिन्हें आप यहां अपने लाभ के लिए उपयोग करने में सक्षम हो सकते हैं। –