2016-03-04 10 views
5

का उपयोग कर स्क्रॉल व्यू फ्रेम बूंदों की पहचान करें कोड में सटीक स्थान की पहचान करने के लिए कोई तरीका है (उदाहरण के लिए एक लंबे समय से चलने वाला फ़ंक्शन, या लॉक पर प्रतीक्षा करना) जो उपकरण और/या एक्सकोड का उपयोग करके फ्रेम ड्रॉप का कारण बनता है?उपकरण

मैं जितना संभव हो सके अपने स्क्रॉल व्यू की स्क्रॉलिंग को आसान बनाने की कोशिश कर रहा हूं, और एफपीएस कभी-कभी 59 या 58 तक गिर जाता है, जबकि शेष 60 आधा समय शेष रहता है, इसलिए मैं जानना चाहता हूं कि वास्तव में क्या यह कारण है।

मैं Core Animation टेम्पलेट के CPU Usage साधन में Record Waiting Threads ध्वज सक्षम किया है, और यह समय (सेकंड के साथ गिरा दिया तख्ते के पास) समय पर प्रत्येक कोर की 100% उपयोग के सुई की तरह कीलें दिखाने करता है, लेकिन मैं ड्रॉप के कारण कोड में सटीक जगह की पहचान करने का एक तरीका पता नहीं लग रहा है - सभी कार्यों को बुलाया जा रहा है बहुत कम प्रभाव और एकल अंकों के प्रतिशत में (इसलिए यह मुख्य धागा लॉक के लिए इंतजार कर सकता है)।

उत्तर

2

क्या आपने स्क्रॉलिंग के दौरान अपने कोड के कौन से हिस्से अधिक सक्रिय हैं, यह देखने के लिए आपने उपकरण में टाइम प्रोफाइलर टूल का उपयोग करने का प्रयास किया है?

वहाँ कैसे समय खोजने के लिए और अपने कोड में बाधाओं को ठीक करने की रूपरेखा का उपयोग करने पर एक बहुत अच्छा WWDC ट्यूटोरियल वीडियो है: https://developer.apple.com/videos/play/wwdc2015/412/

मैं सुझाव है कि आप इस वीडियो को देखने, यह आप अपनी समस्या का समाधान खोजने में मदद कर सकते हैं।

+0

डैनी, आपके उत्तर के लिए धन्यवाद और वीडियो लिंक के लिए - इसमें देखेंगे। –

संबंधित मुद्दे