Google 致力于为黑人社区推动种族平等。查看具体举措
इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

VSYNC

VSYNC सिग्नल डिस्प्ले पाइपलाइन को सिंक्रनाइज़ करता है। डिस्प्ले पाइपलाइन में ऐप रेंडरिंग, सर्फेसफ्लिंगर कंपोज़िशन और हार्डवेयर कंपोज़र (एचडब्ल्यूसी) डिस्प्ले पर चित्र प्रस्तुत करते हैं। VSYNC रेंडरिंग शुरू करने के लिए उठने वाले टाइम ऐप्स को सिंक्रोनाइज़ करता है, जिस समय सर्फेसफ्लिंगर स्क्रीन को कंपोज़ करने के लिए उठता है और डिस्प्ले रिफ्रेश चक्र को प्रदर्शित करता है। यह सिंक्रनाइज़ेशन हकलाना समाप्त करता है और ग्राफिक्स के दृश्य प्रदर्शन में सुधार करता है।

HWC VSYNC ईवेंट बनाता है और कॉलबैक के माध्यम से सर्फेसफ़्लिंगर को ईवेंट भेजता है:

typedef void (*HWC2_PFN_VSYNC)(hwc2_callback_data_t callbackData,
        hwc2_display_t display, int64_t timestamp);

सर्फेसफ्लिंगर यह नियंत्रित करता है कि setVsyncEnabled घटनाओं को setVsyncEnabled लिए कॉल करके उत्पन्न करता है या नहीं। SurfaceFlinger setVsyncEnabled घटनाओं को उत्पन्न करने के लिए setVsyncEnabled को सक्षम करता है ताकि यह प्रदर्शन के ताज़ा चक्र के साथ सिंक्रनाइज़ हो सके। जब setVsyncEnabled डिस्प्ले रिफ्रेश चक्र के साथ सिंक्रनाइज़ किया जाता है, तो setVsyncEnabled को setVsyncEnabled घटनाओं को उत्पन्न करने से रोकने के लिए setVsyncEnabled अक्षम करता है। अगर सर्फेसफिंगर वास्तविक वीएसवाईएनसी और वीएसवाईएनसी के बीच अंतर का पता लगाता है, तो यह पहले से स्थापित सर्फेसफ्लिंगर ने वीएसवाईएनसी इवेंट जनरेशन को फिर से सक्षम बनाता है।

VSYNC ऑफसेट

सिंक ऐप और सर्फेसफ्लिंगर हार्डवेयर VSYNC को लूप प्रदान करता है। वीएसवाईएनसी इवेंट पर, सरफेसफ्लिंगर फ्रेम एन + 1 के लिए विंडोज़ कंपोज़ करना शुरू करते समय डिस्प्ले फ्रेम एन दिखाना शुरू कर देता है। ऐप लंबित इनपुट को संभालता है और फ्रेम एन + 2 उत्पन्न करता है।

VSYNC के साथ सिंक्रोनाइज़ करना लगातार विलंबता प्रदान करता है। यह ऐप्स और सरफेसफ्लिंगर में त्रुटियों को कम करता है और एक-दूसरे के साथ चरण में और बाहर बहती डिस्प्ले को कम करता है। यह मानता है, ऐप और सर्फेसफ्लिंगर प्रति-फ्रेम समय व्यापक रूप से भिन्न नहीं होता है। विलंबता कम से कम दो फ्रेम है।

इसे मापने के लिए, आप हार्डवेयर वीएसवाईएनसी के सापेक्ष ऐप और कंपोजिशन सिग्नल बनाकर इनपुट-टू-डिस्प्ले लेटेंसी को कम करने के लिए वीएसवाईएनसी ऑफसेट को नियोजित कर सकते हैं। यह संभव है क्योंकि ऐप प्लस रचना आमतौर पर 33 एमएस से कम होती है।

VSYNC ऑफसेट का परिणाम एक ही अवधि और ऑफसेट चरण के साथ तीन संकेत हैं:

  • HW_VSYNC_0 - प्रदर्शन अगले फ्रेम दिखाना शुरू करता है।
  • VSYNC - ऐप इनपुट पढ़ता है और अगला फ्रेम बनाता है।
  • SF_VSYNC - SF_VSYNC अगले फ्रेम के लिए SF_VSYNC शुरू करता है।

VSYNC ऑफसेट के साथ, सर्फेसफिंगर बफर प्राप्त करता है और फ्रेम कंपोज करता है जबकि ऐप एक साथ इनपुट को प्रोसेस करता है और फ्रेम को रेंडर करता है।

DispSync

DispSync एक प्रदर्शन की आवधिक हार्डवेयर-आधारित VSYNC घटनाओं का एक मॉडल रखता है और हार्डवेयर VSYNC घटनाओं से विशिष्ट चरण ऑफसेट पर कॉलबैक निष्पादित करने के लिए उस मॉडल का उपयोग करता है।

DispSync एक सॉफ़्टवेयर चरण-लॉक लूप (PLL) है जो कोरियोग्राफर और सरफेसफ्लिंगर द्वारा उपयोग किए जाने वाले VSYNC और SF_VSYNC संकेतों को उत्पन्न करता है, भले ही हार्डवेयर VSYNC से ऑफसेट न हो।

DispSync प्रवाह

चित्र 1. डिस्स्पिंक्स प्रवाह

DispSync में निम्नलिखित गुण हैं:

  • संदर्भ - HW_VSYNC_0
  • आउटपुट - VSYNC और SF_VSYNC।
  • प्रतिक्रिया - हार्डवेयर कम्पोज़र से रिटायर बाड़ संकेत टाइमस्टैम्प।

वीएसवाईएनसी / रिटायर ऑफसेट

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

PRESENT_TIME_OFFSET_FROM_VSYNC_NS डिवाइस के BoardConfig.mk PRESENT_TIME_OFFSET_FROM_VSYNC_NS में सेट है। यह डिस्प्ले कंट्रोलर और पैनल विशेषताओं पर आधारित है। रिटायर फेंस टाइमस्टैम्प से HW VSYNC सिग्नल तक का समय नैनोसेकंड में मापा जाता है।

VSYNC और SF_VSYNC ऑफ़सेट

VSYNC_EVENT_PHASE_OFFSET_NS और SF_VSYNC_EVENT_PHASE_OFFSET_NS उच्च-लोड उपयोग के मामलों पर आधारित हैं, जैसे कि विंडो ट्रांज़िशन या क्रोम स्क्रॉलिंग वाले वेब पेज के माध्यम से एनिमेशन के साथ वेब पेज के माध्यम से आंशिक स्क्रॉलिंग। ये ऑफ़सेट लंबे ऐप रेंडर समय और लंबे जीपीयू रचना समय की अनुमति देते हैं।

एक मिलीसेकंड या दो से अधिक विलंबता ध्यान देने योग्य है। काफी बढ़ती त्रुटि के बिना विलंबता को कम करने के लिए, वक्ष स्वचालित त्रुटि परीक्षण को एकीकृत करें।