Subcore adalah daemon akar yang menggunakan pelbagai sensor dalam peranti untuk menggunakan profil penggunaan yang berbeza secara sistematik. Matlamatnya adalah untuk mencapai keseimbangan berdasarkan beban kerja pengguna, dan bukannya bergantung kepada gabenor CPU untuk membuat andaian bias mengenai beban kerja semasa.
Subcore membaca dan menulis kepada banyak fail kernel untuk menentukan profil mana untuk meletakkannya peranti masuk. Antara muka ini termasuk:
• beban CPU aktif
• Tersedia CPU CPU
• Gabenor CPU yang ada
• Frekuensi CPU yang ada
• Beban GPU yang ada
• Kekerapan GPU yang ada
• Kapasiti Bateri Semasa
• Bateri Negeri (Mengecas / Pelepasan)
• Skrin Negeri
◦ Pemberitahuan Negeri (pilihan utama)
◦ Power Suspend (pilihan sekunder)
◦ FrameBuffer Interface ( Pilihan Tertiary)
• Memori peranti yang tersedia
• Memori peranti maksimum
• Penjadual IO yang tersedia
• Blok Readahead
• Blok Swappiness
• Blok tekanan cache
• Blok catuan yang kotor
• entropi rawak
• Blok OverCommit
• Blok Halaman Cluster
• Blok Centisecs Dirty
• Blok LMK
• Blok Mod Laptop
• Blok KSM
• Penjagaan interaktif yang unik yang dihasilkan
• Tunda Schedotil yang dihasilkan secara unik
Tanpa beberapa bentuk ramalan pengguna, permainan boleh mula ketinggalan seketika semasa adegan pemuatan, di mana keperluan beban dips. Untuk mengatasi ini, Subcore melaksanakan algoritma ramalan pengguna yang cuba mengekalkan ketidakstabilan dalam aplikasi berat, walaupun semasa momen beban rendah. Ia berfungsi dengan menentukan purata beban berulang, dan tidur lebih lama apabila beban konsisten.
Sejak Subcore adalah alat rendah (namun pengguna), ia mempunyai akses langsung ke statistik bateri. Apabila mengecas (dan skrin), Subcore akan meningkatkan prestasi anda ke profil pertunjukan tertinggi untuk memastikan pengguna mengalami kesesuaian UI / UX, tidak menghiraukan batasan tenaga. Di samping itu, apabila Sarjana mengesan peranti adalah pada bateri 15% atau kurang, ia akan separuh beban, yang bermaksud memerlukan dua kali lebih banyak beban CPU untuk memasuki profil seterusnya. Begitu juga, pada bateri 5% atau kurang, subcore mengunci peranti ke dalam profil yang paling rendah, yang dioptimumkan untuk tidur yang mendalam atau terbiar, mengorbankan sebahagian daripada prestasi ke bateri. Tetapan ini boleh dilumpuhkan dengan mengalihkan "Lumpuhkan Power Aware" dalam aplikasi Subcore GUI.
Subcore melaksanakan konsep baru yang saya panggil Rupg. Apa yang membuat Subcore Special adalah hakikat bahawa ia serasi dengan dasar semua peranti. Pada runtime, Subcore pada mulanya mengumpulkan timbunan data untuk menjana banyak profil khusus peranti berdasarkan pelbagai faktor. Profil yang dihasilkan ini banyak dioptimumkan untuk setiap peranti, supaya setiap pengguna mencapai pengalaman perisian yang paling berkesan untuk perkakasan / perisian yang tersedia yang disediakan. Profil ini kemudiannya disimpan dalam ingatan dan ditandai untuk penghapusan apabila keluar Subscore. Beberapa contoh di mana RUPG digunakan adalah dalam penjanaan peranti LMK khusus peranti (MINFREE). Setiap peranti mempunyai saiz ram yang berbeza, jadi SUBCORE mesti secara manual mengira saiz LMK MinFree yang optimum untuk setiap vektor offset (VeryLight -> Very_aggressive). Subcore juga menggunakan RUPG dalam pengeluaran peniaga gabenor. Setiap peranti mempunyai jadual frekuensi Soc CPU yang berbeza, yang mesti diambil kira. Profil ini dihasilkan secara automatik oleh Perduaan, jadi pengguna tidak perlu menyesuaikan apa-apa diri sendiri.
Subcore menghasilkan peningkatan bateri yang ketara, semasa kedua-dua skrin dan skrin.
Saya ingin mengucapkan terima kasih kepada semua penguji saya untuk mengorbankan telefon mereka ke kod saya. Setiap satu daripada mereka dibantu dalam kestabilan program itu sendiri.
@dotmiracle
@Rhranz
@ Kdrag0n
@ Ashley117
@ abhirams2020
@mountaser_halak
Untuk Subcore untuk berfungsi dengan baik, sila pastikan perkara-perkara berikut adalah betul:
• Pastikan SOTE SUBCORE sentiasa diberikan akar.
• Gunakan mod memori rendah jika peranti tidak mempunyai zram atau zcache, atau jika anda perhatikan Apps terhempas / tidak membuka.
Pengguna boleh menghubungi saya pada bila-bila masa untuk maklum balas.
Gmail: Tylernij@gmail.com
Telegram: @tytydraco
XDA: @tytydraco
- Refactor low-memory mode to Memory-Aware
- Improve memory-aware RAM management (increase cache pressure)