ऑडियो वार्मअप

ऑडियो वार्मअप वह समय है जो आपके डिवाइस में ऑडियो एम्पलीफायर सर्किट को पूरी तरह से संचालित होने और अपनी सामान्य संचालन स्थिति तक पहुंचने में लगता है। ऑडियो वार्मअप समय में प्रमुख योगदानकर्ता पावर प्रबंधन और सर्किट को स्थिर करने के लिए कोई "डी-पॉप" तर्क हैं।

यह दस्तावेज़ बताता है कि ऑडियो वार्मअप समय को कैसे मापें और वार्मअप समय को कम करने के संभावित तरीके क्या हैं।

आउटपुट वार्मअप को मापें

ऑडियोफ्लिंगर का फास्टमिक्सर थ्रेड स्वचालित रूप से आउटपुट वार्मअप को मापता है और इसे dumpsys media.audio_flinger कमांड के आउटपुट के हिस्से के रूप में रिपोर्ट करता है। वार्मअप के समय, फास्टमिक्सर write() तब तक बार-बार कॉल करता है जब तक कि दो write() s के बीच का समय अपेक्षित राशि न हो जाए। फास्टमिक्सर यह देखकर ऑडियो वार्मअप निर्धारित करता है कि हार्डवेयर एब्स्ट्रैक्शन लेयर (HAL) write() को स्थिर होने में कितना समय लगता है।

ऑडियो वार्मअप को मापने के लिए, बिल्ट-इन स्पीकर और वायर्ड हेडफ़ोन के लिए और बूटिंग के बाद अलग-अलग समय पर इन चरणों का पालन करें। वार्मअप समय आमतौर पर प्रत्येक आउटपुट डिवाइस के लिए अलग-अलग होता है और डिवाइस को बूट करने के ठीक बाद:

  1. सुनिश्चित करें कि फास्टमिक्सर सक्षम है।
  2. डिवाइस पर सेटिंग्स > ध्वनि > स्पर्श ध्वनियाँ चुनकर स्पर्श ध्वनियाँ सक्षम करें।
  3. सुनिश्चित करें कि ऑडियो कम से कम तीन सेकंड के लिए बंद हो। पांच सेकंड या उससे अधिक बेहतर है, क्योंकि हार्डवेयर के पास ऑडियोफ्लिंगर के पास मौजूद तीन सेकंड से अधिक का अपना पावर लॉजिक हो सकता है।
  4. होम दबाएँ, और आपको एक क्लिक ध्वनि सुननी चाहिए।
  5. मापा वार्मअप प्राप्त करने के लिए निम्नलिखित कमांड चलाएँ:
    adb shell dumpsys media.audio_flinger | grep measuredWarmup
    

    आपको आउटपुट इस तरह देखना चाहिए:

    sampleRate=44100 frameCount=256 measuredWarmup=X ms, warmupCycles=X
    

    measuredWarmup=X एचएएल write() एस के पहले सेट को पूरा करने में लगने वाले मिलीसेकंड की एक्स संख्या है।

    warmupCycles=X यह है कि कितने HAL लेखन अनुरोधों को तब तक लिया गया जब तक कि write() का निष्पादन समय अपेक्षित से मेल नहीं खाता।

  6. पांच माप लें और उन सभी को रिकॉर्ड करें, साथ ही माध्य भी। यदि वे सभी लगभग समान नहीं हैं, तो संभावना है कि माप गलत है। उदाहरण के लिए, यदि आप ऑडियो बंद होने के बाद काफी देर तक इंतजार नहीं करते हैं, तो आपको औसत मूल्य से कम वार्मअप समय दिखाई देगा।

इनपुट वार्मअप को मापें

वर्तमान में ऑडियो इनपुट वार्मअप को मापने के लिए कोई उपकरण उपलब्ध नहीं कराया गया है। हालाँकि, इनपुट वार्मअप समय का अनुमान स्टार्टरिकॉर्डिंग() के लौटने में लगने वाले समय को देखकर लगाया जा सकता है।

वार्मअप का समय कम करें

वार्मअप समय को आमतौर पर इनके संयोजन से कम किया जा सकता है:

  • अच्छा सर्किट डिज़ाइन
  • कर्नेल डिवाइस ड्राइवर में सटीक समय विलंब
  • स्वतंत्र वार्मअप संचालन को क्रमिक रूप से करने के बजाय समवर्ती रूप से निष्पादित करना
  • सर्किट को चालू छोड़ना या घड़ियों को पुन: कॉन्फ़िगर न करना (निष्क्रिय बिजली की खपत बढ़ जाती है)
  • गणना किए गए मापदंडों को कैशिंग करना

हालाँकि, अत्यधिक अनुकूलन से सावधान रहें। आप पा सकते हैं कि आपको कम वार्मअप समय बनाम पावर ट्रांजिशन में पॉपिंग की कमी के बीच समझौता करने की आवश्यकता है।