2012-12-12 52 views
16

क्या मैं CAReplicatorLayer साथ दिलचस्प:CAReplicatorLayer के पीछे जादू क्या है?

  • यह बहुत कुशलता से अलग रूपांतरण के साथ एक CALayer कई बार प्रदर्शित करने में सक्षम है (? कैसे)
  • ऐसा लगता है जैसे कि यह किसी भी तरह से दोहराया के लिए "समर्थन की दुकान" पुनः उपयोग कर लेता परत और यहां तक ​​कि कुछ रंग टिनट्स भी लागू करें (कैसे?)

मैं स्रोत कोड पर हाथ लेना चाहता हूं या CAREplicatorLayer के पीछे जादू का कुछ ज्ञान प्राप्त करना चाहता हूं। मैं CAREplicatorLayer के समान एक कैलियर क्लास रखना चाहता हूं, लेकिन अधिक नियंत्रण के साथ। मैं को प्रत्येक प्रतिकृति उदाहरण के लिए अलग-अलग व्यक्तिगत रूप से पर नियंत्रण रखना चाहता हूं।

तो एक पूरी तरह से अलग तरीके से पूछा गया: क्या कैलियर के लिए "बैकिंग स्टोर" प्राप्त करना संभव है और इसे प्रदर्शित करना संभव है, हालांकि मुझे कई बार चाहिए?

("बैकिंग स्टोर" से मेरा मतलब है कैलियर/यूआईवी व्यू के लिए प्रस्तुत बनावट। मुझे कोरएनीमेशन/क्वार्ट्जकोर के हुड के तहत क्या हो रहा है इसके बारे में बहुत कुछ पता नहीं है)।


क्यों मैं विकल्प जैसे विकल्पों को नहीं देख रहा हूं एक UIImage करने के लिए CALayer प्रतिपादन:

  • प्रदर्शन
  • सामग्री गतिशील है/संक्रमण
  • के तहत बहुत बार-बार बदलती यह हाथ नीचे यह अन्य तरीके से करना भयानक होगा!
+2

यह स्वयं सोच रहा था। आशा है कि हमारे से कोई भी स्मार्ट हाहा के साथ आता है। –

उत्तर

8

विशेष प्रयोजन कैलेयर जैसे कैरेप्लिकेटर लेयर या कैग्राइडेंट लेयर सक्षम हैं (निजी एपीआई के माध्यम से) तेजी से भरने या प्रतिलिपि बनाने के द्वारा सीधे GPU पर अपने चित्र निष्पादित करते हैं। एक अर्थ में वे अलग हैं कि बैकिंग स्टोर सामान्य रैम में नहीं है, लेकिन सीधे GPU पर है।

+0

प्रतिक्रिया के लिए धन्यवाद। यह जो मैं करने की उम्मीद कर रहा था उसके लिए वादा करता हूं, लेकिन वास्तव में कुछ पहलुओं को स्पष्ट करता है। :) – hfossli

+0

आप हमेशा एक ईएजीएलएयर का उपयोग कर सकते हैं और शेडर्स के साथ ओपनजीएल के साथ उस पर आकर्षित कर सकते हैं। यह कस्टम ड्राइंग करने का सबसे तेज़ तरीका होगा। – Cocoanetics

+0

मुझे लगता है कि मैं UIViews द्वारा समर्थित नहीं कर सकता? या मेरे मामले में: मैं UIWebView को दोहराने के रूप में बोल्ड के रूप में कुछ कर रहा हूं। मैं CAREplicatorLayer के समान कुछ पसंद करता हूं, लेकिन प्रत्येक व्यक्तिगत इंस्टेंस 'ट्रांसफॉर्म पर नियंत्रण के साथ (वृद्धिशील एक CAREplicatorLayer ऑफ़र के बजाय)। यदि ओपनजीएल/ईएजीएलएलयर प्रदान करता है कि मैं खुश से अधिक होगा। – hfossli

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

  • कोई संबंधित समस्या नहीं^_^