हार्डवेयर संगीतकार एचएएल

हार्डवेयर कम्पोज़र (HWC) HAL उपलब्ध हार्डवेयर के साथ मिश्रित बफ़र्स के लिए सबसे कुशल तरीका निर्धारित करता है। एचएएल के रूप में, इसका कार्यान्वयन डिवाइस-विशिष्ट है और आमतौर पर डिस्प्ले हार्डवेयर ओईएम द्वारा किया जाता है।

जब आप ओवरले प्लेन पर विचार करते हैं, तो इस दृष्टिकोण के मूल्य को पहचानना आसान होता है, जो GPU के बजाय डिस्प्ले हार्डवेयर में कई बफ़र्स को संयोजित करता है। उदाहरण के लिए, पोर्ट्रेट ओरिएंटेशन में एक सामान्य एंड्रॉइड फोन पर विचार करें, शीर्ष पर स्टेटस बार, नीचे नेविगेशन बार और हर जगह ऐप सामग्री के साथ। प्रत्येक परत की सामग्री अलग-अलग बफ़र्स में होती है। आप निम्न विधियों में से किसी एक का उपयोग करके संरचना को संभाल सकते हैं:

  • ऐप सामग्री को स्क्रैच बफर में रेंडर करना, फिर उसके ऊपर स्टेटस बार, उसके ऊपर नेविगेशन बार, और अंत में स्क्रैच बफर को डिस्प्ले हार्डवेयर में पास करना।
  • सभी तीन बफ़र्स को डिस्प्ले हार्डवेयर में पास करना और स्क्रीन के विभिन्न हिस्सों के लिए अलग-अलग बफ़र्स से डेटा पढ़ने का निर्देश देना।

बाद वाला दृष्टिकोण काफी अधिक कुशल हो सकता है।

प्रदर्शन प्रोसेसर क्षमताएं काफी भिन्न होती हैं। ओवरले की संख्या, चाहे परतों को घुमाया या मिश्रित किया जा सकता है, और स्थिति और ओवरलैप पर प्रतिबंध एपीआई के माध्यम से व्यक्त करना मुश्किल हो सकता है। इन विकल्पों को समायोजित करने के लिए, एचडब्ल्यूसी निम्नलिखित गणना करता है:

  1. सरफेसफ्लिंगर एचडब्ल्यूसी को परतों की पूरी सूची प्रदान करता है और पूछता है, "आप इसे कैसे संभालना चाहते हैं?"
  2. HWC प्रत्येक परत को उपकरण या क्लाइंट संरचना के रूप में चिह्नित करके प्रतिक्रिया करता है।
  3. सरफेसफ्लिंगर किसी भी क्लाइंट का ख्याल रखता है, आउटपुट बफर को एचडब्ल्यूसी को पास करता है, और एचडब्ल्यूसी को बाकी को संभालने देता है।

चूंकि हार्डवेयर विक्रेता निर्णय लेने के कोड को अनुकूलित कर सकते हैं, इसलिए प्रत्येक डिवाइस से सर्वश्रेष्ठ प्रदर्शन प्राप्त करना संभव है।

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

एंड्रॉइड डिवाइस आमतौर पर चार ओवरले विमानों का समर्थन करते हैं। ओवरले की तुलना में अधिक परतों को संयोजित करने का प्रयास करने से सिस्टम उनमें से कुछ के लिए GLES संरचना का उपयोग करता है, जिसका अर्थ है कि किसी ऐप द्वारा उपयोग की जाने वाली परतों की संख्या बिजली की खपत और प्रदर्शन पर एक औसत दर्जे का प्रभाव डाल सकती है।