Compositing (कम्पोज़िटिंग) कई विज़ुअल लेयर्स को एक अंतिम छवि में संयोजित करने की प्रक्रिया है। Apple Core Animation दस्तावेज़ीकरण, 2025 के अनुसार, मोबाइल डेवलपमेंट में compositing का उपयोग UI लेयर्स को ओवरले करने, 3D रेंडर को इंटरफ़ेस के साथ संयोजित करने और एनिमेशन बनाने के लिए किया जाता है। Compositing ड्रॉइंग ऑर्डर, पारदर्शिता और लेयर्स के बीच रंग मिश्रण को नियंत्रित करता है।
मुख्य बातें
Compositing ग्राफ़िक्स पाइपलाइन का अंतिम चरण है जहाँ सभी अलग-अलग रेंडर की गई लेयर्स (3D दृश्य, UI तत्व, वीडियो, सिस्टम इंटरफ़ेस) को स्क्रीन पर प्रदर्शित करने के लिए एक छवि में संयोजित किया जाता है। प्रत्येक लेयर का अपना रंग, पारदर्शिता (alpha), स्थिति और स्टैकिंग क्रम हो सकता है।
मोबाइल डेवलपमेंट के संदर्भ में, compositing उपयोगकर्ता इंटरफ़ेस के लिए महत्वपूर्ण है: विंडो, बटन, टेक्स्ट, आइकन — ये सभी तत्व एक एकल दृश्य में कम्पोज़िट किए जाते हैं। Compositing सिस्टम ड्रॉइंग ऑर्डर (z-order), अर्ध-पारदर्शी तत्वों के सही ओवरलैपिंग और UI स्थितियों के बीच संक्रमण एनिमेशन का प्रबंधन करता है।
ग्राफ़िक्स पाइपलाइन में, compositing सभी शेडर पास और रैस्टराइज़ेशन पूरा होने के बाद होता है। GPU फ़्रेमबफ़र्स से तैयार लेयर्स लेता है, blending प्रक्रियाएँ लागू करता है और परिणाम को डिस्प्ले पर भेजने के लिए मुख्य फ़्रेमबफ़र (front buffer) में लिखता है।
Compositing विभिन्न लेयर्स के रंगों के पिक्सेल-दर-पिक्सेल मिश्रण (blending) का उपयोग करता है। आउटपुट छवि का प्रत्येक पिक्सेल ओवरले की गई लेयर्स के पिक्सेल रंगों के आधार पर पारदर्शिता (alpha-चैनल) और चयनित मिश्रण मोड को ध्यान में रखते हुए गणना किया जाता है।
प्रत्येक लेयर में एक alpha-चैनल (RGBA रंग का चौथा घटक) होता है जो इसकी अपारदर्शिता निर्धारित करता है। Alpha = 1.0 — पूरी तरह से अपारदर्शी, alpha = 0.0 — पूरी तरह से पारदर्शी। Alpha blending पिक्सेल रंग को अग्रभूमि (source) और पृष्ठभूमि (destination) लेयर्स के रंगों के भारित योग के रूप में गणना करता है: परिणाम = source * alpha + dest * (1 - alpha).
Compositing सबसे दूर की लेयर से निकटतम (back-to-front) तक निष्पादित किया जाता है। पहले पृष्ठभूमि लेयर रेंडर की जाती है, फिर प्रत्येक अगली लेयर अपनी पारदर्शिता को ध्यान में रखते हुए पिछले के ऊपर ओवरले की जाती है। Z-order यह निर्धारित करता है कि कौन सी लेयर ऊपर है और नीचे वाली को कवर करेगी।
Compositing विभिन्न मिश्रण मोड (blend modes) का समर्थन करता है जो यह निर्धारित करते हैं कि लेयर्स के रंग कैसे संयोजित होते हैं। प्रत्येक मोड एक अलग दृश्य प्रभाव देता है और इसकी अपनी संगणनात्मक लागत होती है।
| मोड | सूत्र | उपयोग |
|---|---|---|
| Normal (Alpha) | src * a + dst * (1 - a) | पारदर्शिता के साथ मानक ओवरले |
| Additive | src + dst | चमक प्रभाव, कण |
| Multiply | src * dst | छायांकन, छायाएँ |
| Screen | 1 - (1 - src) * (1 - dst) | चमकाना, हाइलाइट |
| Premultiplied Alpha | (src.rgb * a) + dst * (1 - a) | प्रदर्शन (रनटाइम गुणा के बिना) |
Premultiplied alpha मोड में, रंग चैनलों को पहले से alpha-चैनल (RGB × A) से गुणा करके संग्रहीत किया जाता है। यह प्रत्येक blending प्रक्रिया पर गुणा की आवश्यकता को समाप्त करता है, compositing को तेज़ करता है। Premultiplied alpha iOS Core Animation और Android HWUI में GPU compositing के लिए मानक प्रारूप है।
प्रत्येक मोबाइल ऑपरेटिंग सिस्टम का अपना compositing सिस्टम होता है जो अपने हार्डवेयर प्लेटफ़ॉर्म के लिए ऑप्टिमाइज़ किया गया है। मोबाइल OS में Compositing पूरे उपयोगकर्ता इंटरफ़ेस को रेंडर करने के लिए जिम्मेदार होता है।
iOS में, compositing Core Animation द्वारा प्रबंधित किया जाता है — एक उच्च-स्तरीय सिस्टम जो Metal या OpenGL ES के ऊपर काम करता है। Core Animation एक layer tree (लेयर्स का पेड़) बनाता है जिसे फिर अंतिम छवि में कम्पोज़िट किया जाता है। Core Animation स्वचालित रूप से निर्धारित करता है कि कौन सी लेयर्स बदली हैं और केवल उन्हें पुनः रेंडर करता है (incremental compositing), जिससे GPU पर लोड कम होता है।
Android में, compositing SurfaceFlinger द्वारा निष्पादित किया जाता है — एक सिस्टम सेवा जो विभिन्न अनुप्रयोगों और सिस्टम UI से सतहों (surfaces) को संयोजित करती है। SurfaceFlinger HWC (Hardware Composer) का उपयोग करता है ताकि compositing कार्य का कुछ भाग डिस्प्ले कंट्रोलर के समर्पित हार्डवेयर को सौंपा जा सके।
Compositing प्रदर्शन मोबाइल अनुप्रयोगों में एक सामान्य अड़चन है, विशेष रूप से जटिल एनिमेशन और कई अर्ध-पारदर्शी लेयर्स के ओवरले के साथ। प्रत्येक अतिरिक्त लेयर को मेमोरी में पिक्सेल पढ़ने, मिश्रित करने और लिखने की आवश्यकता होती है।
आधुनिक मोबाइल उपकरण विशेष blending इकाइयों के माध्यम से GPU पर compositing करते हैं। GPU compositing तेज़ पिक्सेल मिश्रण के लिए समानांतर ROP इकाइयों और टेक्सचर फ़िल्टर का उपयोग करता है। CPU compositing केवल दुर्लभ मामलों (पुराने उपकरण, परीक्षण) में उपयोग किया जाता है।
Compositing ऑप्टिमाइज़ेशन मोबाइल इंटरफ़ेस विकास में प्रमुख कार्यों में से एक है। UI की स्मूथनेस (60 FPS) सीधे लेयर संयोजन की दक्षता पर निर्भर करती है।
Compositing प्रदर्शन विश्लेषण के लिए उपयोग करें: Core Animation Profiler (Xcode Instruments) — लेयर्स की संख्या और compositing आवृत्ति दिखाता है; GPU Debugger (Android Studio) — GPU लोड और overdraw प्रदर्शित करता है; Overdraw Visualization — एक डिबगिंग उपकरण जो बार-बार पिक्सेल पुनः रेंडरिंग के क्षेत्रों को दिखाता है।
अक्सर पूछे जाने वाले प्रश्न
Compositing चित्रों वाली कई पारदर्शी शीटों को एक तस्वीर में चिपकाने जैसा है। प्रत्येक शीट एक लेयर है (बटन, पृष्ठभूमि, टेक्स्ट), और पारदर्शिता यह निर्धारित करती है कि लेयर्स एक दूसरे के माध्यम से कैसे दिखती हैं।
रेंडरिंग — प्रत्येक लेयर की सामग्री बनाना (बटन बनाना, 3D मॉडल को टेक्सचर करना)। Compositing — पारदर्शिता और स्टैकिंग क्रम को ध्यान में रखते हुए तैयार लेयर्स को अंतिम छवि में संयोजित करना।
Core Animation Metal के माध्यम से GPU पर लेयर्स को कम्पोज़िट करता है। बड़ी संख्या में अर्ध-पारदर्शी लेयर्स (overdraw) या CPU compositing (ऑफ़-स्क्रीन रेंडरिंग) के साथ समस्याएँ शुरू होती हैं। निदान के लिए Core Animation Profiler का उपयोग करें।
Hardware Composer (HWC) डिस्प्ले कंट्रोलर का एक हार्डवेयर मॉड्यूल है जो GPU को लोड किए बिना compositing करता है। HWC हार्डवेयर में 4-8 लेयर्स तक संयोजित कर सकता है, जिससे बिजली की खपत कम होती है और GPU अन्य कार्यों के लिए मुक्त होता है।
स्थिर लेयर्स को संयोजित करें (layer flattening), जहाँ संभव हो अपारदर्शी रंगों का उपयोग करें, ऑफ़स्क्रीन बफ़र आकार कम करें और अनावश्यक एनिमेशन से बचें जो पूरे दृश्य के पुनः कम्पोज़िशन का कारण बनते हैं।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें