सबकोर एक रूट डेमॉन है जो डिवाइस में विभिन्न सेंसर को व्यवस्थित रूप से विभिन्न उपयोग प्रोफाइल लागू करने के लिए उपयोग करता है। लक्ष्य वर्तमान वर्कलोड के बारे में पूर्वाग्रह धारणाओं को सीपीयू गवर्नमेंट बनाने के लिए उपयोगकर्ता के वर्कलोड के आधार पर शेष राशि प्राप्त करना है।
उपकोर कई कर्नेल फ़ाइलों को पढ़ता है और लिखता है कि कौन सा प्रोफ़ाइल है डिवाइस इन इंटरफेस में शामिल हैं:
• सक्रिय सीपीयू लोड
• उपलब्ध सीपीयू कोर
• उपलब्ध सीपीयू गवर्नर्स
• उपलब्ध सीपीयू आवृत्तियों
• उपलब्ध जीपीयू लोड
• उपलब्ध जीपीयू आवृत्तियों
• वर्तमान बैटरी क्षमता
• बैटरी राज्य (चार्जिंग / डिस्चार्जिंग)
• स्क्रीन राज्य
◦ राज्य नोटिफ़ायर (प्राथमिक विकल्प)
◦ पावर निलंबन (माध्यमिक विकल्प)
◦ फ्रेमबफर इंटरफ़ेस ( तृतीयक विकल्प)
• उपलब्ध डिवाइस मेमोरी
• अधिकतम डिवाइस मेमोरी
• उपलब्ध आईओ शेड्यूलर्स
• ब्लॉक रीडहेड
• ब्लॉक स्वाभाव
• ब्लॉक कैश दबाव
• गंदे राशन ब्लॉक करें
• यादृच्छिक entropy
• ब्लॉक Overcommit
• ब्लॉक पेज क्लस्टर
• गंदा centisecs ब्लॉक
• ब्लॉक LMK
• ब्लॉक लैपटॉप मोड
• ब्लॉक KSM
• विशिष्ट रूप से जेनरेट किए गए इंटरैक्टिव ट्यूनबल्स
• विशिष्ट रूप से जेनरेटेड शेड्यूटिल ट्यूनबल्स
उपयोगकर्ता भविष्यवाणी के कुछ रूप के बिना, एक गेम लोडिंग दृश्य के दौरान एक पल के लिए अंतराल शुरू हो सकता है, जहां लोड आवश्यकता डुबकी है। इसका प्रतिकार करने के लिए, उपकोर एक उपयोगकर्ता भविष्यवाणी एल्गोरिदम लागू करता है जो कम भार के क्षणों के दौरान भी भारी अनुप्रयोगों में तरलता को बनाए रखने का प्रयास करता है। यह दोहराव भार औसत निर्धारित करके काम करता है, और लोड सुसंगत होने पर लंबे समय तक सो रहा है।
चूंकि सबकोर निम्न-स्तर (अभी तक उपयोगकर्ता स्थान) उपकरण है, इसलिए इसमें बैटरी आंकड़ों की सीधी पहुंच है। चार्ज करते समय (और स्क्रीन पर), उपकोर आपके प्रदर्शन को उच्चतम प्रदर्शन करने वाली प्रोफ़ाइल में बढ़ावा देगा ताकि उपयोगकर्ता यूआई / यूएक्स अनुरूपता का अनुभव किया जा सके, ऊर्जा सीमा को नजरअंदाज कर दिया जा सके। इसके अतिरिक्त, जब उपकोर का पता लगाता है तो डिवाइस 15% बैटरी या उससे कम पर है, तो यह आधा laudeavg होगा, जिसका अर्थ है कि अगली प्रोफ़ाइल में प्रवेश करने के लिए इसे दो गुना अधिक सीपीयू लोड की आवश्यकता है। इसी प्रकार, 5% बैटरी या उससे कम पर, सबकोर डिवाइस को सबसे कम प्रोफ़ाइल में लॉक करता है, जिसे गहरी नींद या निष्क्रिय के लिए अनुकूलित किया जाता है, जिससे बैटरी के प्रदर्शन का एक हिस्सा बलिदान होता है। इस सेटिंग को सबकोर जीयूआई ऐप में "अक्षम पावर जागरूक" टॉगल करके अक्षम किया जा सकता है।
सबकोर एक नई अवधारणा लागू करता है जिसे मैं आरयूपीजी कहता हूं। सबकोर स्पेशल क्या बनाता है तथ्य यह है कि यह अनिवार्य रूप से सभी उपकरणों के साथ संगत है। रनटाइम पर, उपनगर शुरू में विभिन्न कारकों के आधार पर कई डिवाइस-विशिष्ट प्रोफाइल उत्पन्न करने के लिए डेटा के ढेर को इकट्ठा करता है। ये जेनरेट किए गए प्रोफाइल को प्रत्येक डिवाइस के लिए भारी अनुकूलित किया जाता है, ताकि प्रत्येक उपयोगकर्ता उपलब्ध हार्डवेयर / सॉफ़्टवेयर के लिए सबसे कुशल सॉफ़्टवेयर अनुभव प्राप्त कर सके। इन प्रोफाइल को तब स्मृति में सहेजा जाता है और सबकोर निकलता है जब हटाने के लिए चिह्नित किया जाता है। कुछ उदाहरण जहां आरयूपीजी का उपयोग किया जाता है, डिवाइस विशिष्ट एलएमके ऑफसेट (मिनफ्री) की पीढ़ी में है। प्रत्येक डिवाइस में एक अलग रैम आकार होता है, इसलिए सबकोर को प्रत्येक ऑफ़सेट वेक्टर (बहुत_लाइट -> Very_Agressive) के लिए इष्टतम lmk minfree आकारों की मैन्युअल रूप से गणना करनी चाहिए। सबकोर भी राज्यपाल ट्यूनबल्स के उत्पादन में आरयूपीजी का उपयोग करता है। प्रत्येक डिवाइस में एक अलग एसओसी सीपीयू आवृत्ति तालिका होती है, जिसे के लिए जिम्मेदार होना चाहिए। ये प्रोफाइल स्वचालित रूप से बाइनरी द्वारा उत्पन्न होते हैं, इसलिए उपयोगकर्ता को स्वयं को कुछ भी ट्यून करने की आवश्यकता नहीं होती है।
दोनों स्क्रीन पर और स्क्रीन के दौरान एक उल्लेखनीय बैटरी जीवन सुधार में उपकोर परिणाम।
मैं अपने सभी परीक्षकों को अपने फोन को अपने कोड में बलिदान के लिए व्यक्तिगत रूप से धन्यवाद देना चाहता हूं। उनमें से प्रत्येक ने स्वयं कार्यक्रम की स्थिरता में सहायता की।
@dotmiracle
@Efranz
@ kdrag0n
@ ashley117
@ abhirams2020
@mountaser_halak
ठीक से काम करने के लिए सबकोर के लिए, कृपया सुनिश्चित करें कि निम्नलिखित चीजें उचित हैं:
• सुनिश्चित करें कि सबकोर हमेशा रूट प्रदान किया जाता है।
• यदि डिवाइस में ज़्राम या ज़ाकैश नहीं होता है, या यदि आप नोटिस करते हैं तो कम-मेमोरी मोड का उपयोग करें, या यदि आप नोटिस करते हैं ऐप्स क्रैश / ओपनिंग नहीं।
उपयोगकर्ता प्रतिक्रिया के लिए किसी भी समय मुझसे संपर्क कर सकते हैं।
gmail: tylernij@gmail.com
टेलीग्राम: @tytydraco
xda: @tytydraco
- Refactor low-memory mode to Memory-Aware
- Improve memory-aware RAM management (increase cache pressure)