Compositing: यह क्या है, लेयर्स और कार्य सिद्धांत

लेखक: IT Sectr प्रकाशित: 2026-06-12 पढ़ने का समय: 10 मिनट

Compositing (कम्पोज़िटिंग) कई विज़ुअल लेयर्स को एक अंतिम छवि में संयोजित करने की प्रक्रिया है। Apple Core Animation दस्तावेज़ीकरण, 2025 के अनुसार, मोबाइल डेवलपमेंट में compositing का उपयोग UI लेयर्स को ओवरले करने, 3D रेंडर को इंटरफ़ेस के साथ संयोजित करने और एनिमेशन बनाने के लिए किया जाता है। Compositing ड्रॉइंग ऑर्डर, पारदर्शिता और लेयर्स के बीच रंग मिश्रण को नियंत्रित करता है।

मुख्य बातें

  • Compositing — अलग-अलग विज़ुअल लेयर्स को अंतिम छवि में संयोजित करना।
  • Alpha blending — मुख्य मिश्रण एल्गोरिदम जो लेयर की पारदर्शिता को ध्यान में रखता है।
  • GPU compositing — ROP ब्लॉक की blending प्रक्रियाओं के माध्यम से GPU पर निष्पादित होता है।
  • Core Animation (iOS) और HWUI (Android) — मोबाइल OS में compositing सिस्टम।
  • ऑप्टिमाइज़ेशन 60 FPS पर स्मूथ UI और एनिमेशन के लिए महत्वपूर्ण है।

Compositing क्या है?

Compositing ग्राफ़िक्स पाइपलाइन का अंतिम चरण है जहाँ सभी अलग-अलग रेंडर की गई लेयर्स (3D दृश्य, UI तत्व, वीडियो, सिस्टम इंटरफ़ेस) को स्क्रीन पर प्रदर्शित करने के लिए एक छवि में संयोजित किया जाता है। प्रत्येक लेयर का अपना रंग, पारदर्शिता (alpha), स्थिति और स्टैकिंग क्रम हो सकता है।

मोबाइल डेवलपमेंट के संदर्भ में, compositing उपयोगकर्ता इंटरफ़ेस के लिए महत्वपूर्ण है: विंडो, बटन, टेक्स्ट, आइकन — ये सभी तत्व एक एकल दृश्य में कम्पोज़िट किए जाते हैं। Compositing सिस्टम ड्रॉइंग ऑर्डर (z-order), अर्ध-पारदर्शी तत्वों के सही ओवरलैपिंग और UI स्थितियों के बीच संक्रमण एनिमेशन का प्रबंधन करता है।

ग्राफ़िक्स पाइपलाइन में Compositing

ग्राफ़िक्स पाइपलाइन में, compositing सभी शेडर पास और रैस्टराइज़ेशन पूरा होने के बाद होता है। GPU फ़्रेमबफ़र्स से तैयार लेयर्स लेता है, blending प्रक्रियाएँ लागू करता है और परिणाम को डिस्प्ले पर भेजने के लिए मुख्य फ़्रेमबफ़र (front buffer) में लिखता है।

Compositing कैसे काम करता है?

Compositing विभिन्न लेयर्स के रंगों के पिक्सेल-दर-पिक्सेल मिश्रण (blending) का उपयोग करता है। आउटपुट छवि का प्रत्येक पिक्सेल ओवरले की गई लेयर्स के पिक्सेल रंगों के आधार पर पारदर्शिता (alpha-चैनल) और चयनित मिश्रण मोड को ध्यान में रखते हुए गणना किया जाता है।

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 एल्गोरिदम

Compositing विभिन्न मिश्रण मोड (blend modes) का समर्थन करता है जो यह निर्धारित करते हैं कि लेयर्स के रंग कैसे संयोजित होते हैं। प्रत्येक मोड एक अलग दृश्य प्रभाव देता है और इसकी अपनी संगणनात्मक लागत होती है।

मोडसूत्रउपयोग
Normal (Alpha)src * a + dst * (1 - a)पारदर्शिता के साथ मानक ओवरले
Additivesrc + dstचमक प्रभाव, कण
Multiplysrc * dstछायांकन, छायाएँ
Screen1 - (1 - src) * (1 - dst)चमकाना, हाइलाइट
Premultiplied Alpha(src.rgb * a) + dst * (1 - a)प्रदर्शन (रनटाइम गुणा के बिना)

Premultiplied Alpha

Premultiplied alpha मोड में, रंग चैनलों को पहले से alpha-चैनल (RGB × A) से गुणा करके संग्रहीत किया जाता है। यह प्रत्येक blending प्रक्रिया पर गुणा की आवश्यकता को समाप्त करता है, compositing को तेज़ करता है। Premultiplied alpha iOS Core Animation और Android HWUI में GPU compositing के लिए मानक प्रारूप है।

मोबाइल OS में Compositing

प्रत्येक मोबाइल ऑपरेटिंग सिस्टम का अपना compositing सिस्टम होता है जो अपने हार्डवेयर प्लेटफ़ॉर्म के लिए ऑप्टिमाइज़ किया गया है। मोबाइल OS में Compositing पूरे उपयोगकर्ता इंटरफ़ेस को रेंडर करने के लिए जिम्मेदार होता है।

iOS: Core Animation + Metal

iOS में, compositing Core Animation द्वारा प्रबंधित किया जाता है — एक उच्च-स्तरीय सिस्टम जो Metal या OpenGL ES के ऊपर काम करता है। Core Animation एक layer tree (लेयर्स का पेड़) बनाता है जिसे फिर अंतिम छवि में कम्पोज़िट किया जाता है। Core Animation स्वचालित रूप से निर्धारित करता है कि कौन सी लेयर्स बदली हैं और केवल उन्हें पुनः रेंडर करता है (incremental compositing), जिससे GPU पर लोड कम होता है।

Android: SurfaceFlinger + HWUI

Android में, compositing SurfaceFlinger द्वारा निष्पादित किया जाता है — एक सिस्टम सेवा जो विभिन्न अनुप्रयोगों और सिस्टम UI से सतहों (surfaces) को संयोजित करती है। SurfaceFlinger HWC (Hardware Composer) का उपयोग करता है ताकि compositing कार्य का कुछ भाग डिस्प्ले कंट्रोलर के समर्पित हार्डवेयर को सौंपा जा सके।

Compositing प्रदर्शन

Compositing प्रदर्शन मोबाइल अनुप्रयोगों में एक सामान्य अड़चन है, विशेष रूप से जटिल एनिमेशन और कई अर्ध-पारदर्शी लेयर्स के ओवरले के साथ। प्रत्येक अतिरिक्त लेयर को मेमोरी में पिक्सेल पढ़ने, मिश्रित करने और लिखने की आवश्यकता होती है।

प्रदर्शन को प्रभावित करने वाले कारक

  • लेयर्स की संख्या — प्रत्येक लेयर को एक अलग blending पास की आवश्यकता होती है। लेयर्स की संख्या कम करने से compositing रैखिक रूप से तेज़ होता है।
  • लेयर रिज़ॉल्यूशन — उच्च रिज़ॉल्यूशन वाली लेयर्स प्रसंस्कृत पिक्सेल की संख्या बढ़ाती हैं। न्यूनतम संभव ऑफ़स्क्रीन बफ़र आकार का उपयोग करें।
  • पारदर्शिता और overdraw — अर्ध-पारदर्शी लेयर्स को नीचे के पिक्सेल पढ़ने की आवश्यकता होती है, जिससे बैंडविड्थ बढ़ता है।
  • CPU compositing — यदि compositing CPU पर किया जाता है (software rendering), प्रदर्शन नाटकीय रूप से गिर जाता है। GPU compositing हमेशा बेहतर होता है।

GPU Compositing बनाम CPU Compositing

आधुनिक मोबाइल उपकरण विशेष blending इकाइयों के माध्यम से GPU पर compositing करते हैं। GPU compositing तेज़ पिक्सेल मिश्रण के लिए समानांतर ROP इकाइयों और टेक्सचर फ़िल्टर का उपयोग करता है। CPU compositing केवल दुर्लभ मामलों (पुराने उपकरण, परीक्षण) में उपयोग किया जाता है।

Compositing ऑप्टिमाइज़ेशन

Compositing ऑप्टिमाइज़ेशन मोबाइल इंटरफ़ेस विकास में प्रमुख कार्यों में से एक है। UI की स्मूथनेस (60 FPS) सीधे लेयर संयोजन की दक्षता पर निर्भर करती है।

मुख्य ऑप्टिमाइज़ेशन विधियाँ

  • लेयर न्यूनीकरण — पूर्व-रेंडरिंग के माध्यम से स्थिर लेयर्स को एक में संयोजित करना (layer flattening)।
  • अपारदर्शी लेयर्स — अपारदर्शी लेयर्स को alpha blending की आवश्यकता नहीं होती, जो compositing को काफी तेज़ करता है।
  • Incremental compositing — पूरे दृश्य के बजाय केवल बदली हुई लेयर्स को पुनः रेंडर करना (Core Animation द्वारा उपयोग किया जाता है)।
  • Hardware Composer — GPU की भागीदारी के बिना हार्डवेयर compositing के लिए HWC का उपयोग।

प्रोफाइलिंग उपकरण

Compositing प्रदर्शन विश्लेषण के लिए उपयोग करें: Core Animation Profiler (Xcode Instruments) — लेयर्स की संख्या और compositing आवृत्ति दिखाता है; GPU Debugger (Android Studio) — GPU लोड और overdraw प्रदर्शित करता है; Overdraw Visualization — एक डिबगिंग उपकरण जो बार-बार पिक्सेल पुनः रेंडरिंग के क्षेत्रों को दिखाता है।

अक्सर पूछे जाने वाले प्रश्न

सरल शब्दों में compositing क्या है?

Compositing चित्रों वाली कई पारदर्शी शीटों को एक तस्वीर में चिपकाने जैसा है। प्रत्येक शीट एक लेयर है (बटन, पृष्ठभूमि, टेक्स्ट), और पारदर्शिता यह निर्धारित करती है कि लेयर्स एक दूसरे के माध्यम से कैसे दिखती हैं।

रेंडरिंग और compositing में क्या अंतर है?

रेंडरिंग — प्रत्येक लेयर की सामग्री बनाना (बटन बनाना, 3D मॉडल को टेक्सचर करना)। Compositing — पारदर्शिता और स्टैकिंग क्रम को ध्यान में रखते हुए तैयार लेयर्स को अंतिम छवि में संयोजित करना।

Compositing iOS प्रदर्शन को कैसे प्रभावित करता है?

Core Animation Metal के माध्यम से GPU पर लेयर्स को कम्पोज़िट करता है। बड़ी संख्या में अर्ध-पारदर्शी लेयर्स (overdraw) या CPU compositing (ऑफ़-स्क्रीन रेंडरिंग) के साथ समस्याएँ शुरू होती हैं। निदान के लिए Core Animation Profiler का उपयोग करें।

Android में Hardware Composer क्या है?

Hardware Composer (HWC) डिस्प्ले कंट्रोलर का एक हार्डवेयर मॉड्यूल है जो GPU को लोड किए बिना compositing करता है। HWC हार्डवेयर में 4-8 लेयर्स तक संयोजित कर सकता है, जिससे बिजली की खपत कम होती है और GPU अन्य कार्यों के लिए मुक्त होता है।

Compositing लोड कैसे कम करें?

स्थिर लेयर्स को संयोजित करें (layer flattening), जहाँ संभव हो अपारदर्शी रंगों का उपयोग करें, ऑफ़स्क्रीन बफ़र आकार कम करें और अनावश्यक एनिमेशन से बचें जो पूरे दृश्य के पुनः कम्पोज़िशन का कारण बनते हैं।

सारांश

  • Compositing — सभी विज़ुअल लेयर्स को अंतिम स्क्रीन छवि में संयोजित करने का अंतिम चरण।
  • Alpha blending — पारदर्शिता (RGBA) को ध्यान में रखते हुए रंग मिश्रण का मुख्य एल्गोरिदम।
  • Premultiplied alpha — मानक GPU compositing प्रारूप जो अनावश्यक गुणा को समाप्त करता है।
  • Core Animation (iOS) और SurfaceFlinger (Android) — मोबाइल OS के compositing सिस्टम।
  • अर्ध-पारदर्शी लेयर्स की संख्या — compositing प्रदर्शन को प्रभावित करने वाला मुख्य कारक।
  • Hardware Composer — GPU के बिना compositing के लिए Android का हार्डवेयर ब्लॉक।
  • ऑप्टिमाइज़ेशन में layer flattening, अपारदर्शी लेयर्स का उपयोग और incremental compositing शामिल है।

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें