A daemon sangat penyesuaian yang mengoptimumkan peranti anda untuk beban kerja yang dinamik.
Subcore adalah daemon akar yang menggunakan pelbagai sensor dalam peranti untuk memohon secara sistematik menggunakan profil penggunaan yang berbeza. Matlamatnya adalah untuk mencapai keseimbangan berdasarkan beban kerja pengguna, dan bukan 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 meletakkan peranti masuk. Antara muka ini termasuk:
• Beban CPU aktif
• Terdapat teras CPU yang tersedia
• Gabenor CPU yang tersedia
• Kekuatan CPU yang tersedia
• Beban GPU yang tersedia
• Kekuatan GPU yang tersedia
• Kapasiti bateri semasa
• Status bateri (mengecas / menunaikan)
• Status skrin
◦ Pemberitahu Negeri (pilihan utama)
◦ Suspend Kuasa (pilihan kedua)
◦ Antaramuka framebuffer (pilihan tertiari)
• Memori peranti yang tersedia
• Memori peranti maksimum
• Terdapat penjadual IO yang tersedia
• Sekat semula
• Sekat swappiness
• Blok tekanan cache
• Sekatkan catuan kotor
• Entropi rawak
• Blok mengatasi
• Blok halaman blok
• Sekatkan centisec kotor
• Blok LMK
• Blok mod komputer riba
• Sekat KSM
• Tunable Interaktif yang dihasilkan secara unik
• Tunable Schedutil yang dihasilkan secara unik
Tanpa beberapa bentuk ramalan pengguna, permainan boleh mula lag selama seketika semasa adegan pemuatan, di mana keperluan beban dips. Untuk mengatasi masalah ini, Subcore mengimplementasikan algoritma ramalan pengguna yang cuba untuk mengekalkan ketidakstabilan dalam aplikasi berat, bahkan semasa momen beban rendah. Ia berfungsi dengan menentukan purata beban berulang, dan tidur lebih lama apabila beban itu konsisten.
Memandangkan Subcore adalah alat peringkat rendah (namun ruang pengguna), ia mempunyai akses terus ke statistik bateri. Apabila mengecas (dan skrin hidup), Subcore akan meningkatkan prestasi anda ke profil prestasi tertinggi untuk memastikan pengguna mengalami kesesuaian UI / UX, tanpa mengira had tenaga. Di samping itu, apabila Subcore mengesan peranti itu pada bateri 15% atau kurang, ia akan menjadi separuh daripada loadavg, yang bermakna ia memerlukan dua kali lebih banyak beban CPU untuk memasukkan profil seterusnya. Begitu juga, pada bateri 5% atau kurang, Subcore mengunci peranti ke profil terendah, yang dioptimumkan untuk tidur yang mendalam atau terbiar, mengorbankan sepotong prestasi ke bateri. Tetapan ini boleh dilumpuhkan dengan menogol "Lumpuhkan Kuasa Ketahui" dalam aplikasi GUI Subcore.
Subcore mengimplementasikan konsep baru yang saya panggil RUPG. Apa yang menjadikan Subcore istimewa ialah hakikat bahawa ia serasi dengan dasarnya semua peranti. Semasa runtime, Subcore pada mulanya mengumpulkan timbunan data untuk menghasilkan banyak profil khusus peranti berdasarkan pelbagai faktor. Profil yang dihasilkan ini sangat dioptimumkan untuk setiap peranti, supaya setiap pengguna mencapai pengalaman perisian yang paling efisien untuk perkakasan / perisian yang tersedia. Profil ini kemudian disimpan dalam ingatan dan ditandakan untuk penghapusan apabila Subcore keluar. Beberapa contoh di mana RUPG digunakan adalah dalam penjanaan peranti LMK tertentu (minfree). Setiap peranti mempunyai saiz RAM yang berbeza, jadi Subcore mesti mengira secara manual LMK saiz minfree optimum untuk setiap vektor offset (VERY_LIGHT -> VERY_AGGRESSIVE). Subcore juga menggunakan RUPG dalam pengeluaran gabenor gubernur. Setiap peranti mempunyai jadual kekerapan CPU SOC yang berbeza, yang mesti diambil kira. Profil ini dijana secara automatik oleh binari, jadi pengguna tidak perlu menyesuaikan sesuatu dengan sendirinya.
Subcore menghasilkan peningkatan hayat bateri yang ketara, semasa kedua-dua skrin dihidupkan dan dimatikan.
Saya ingin secara peribadi mengucapkan terima kasih kepada semua penguji saya kerana mengorbankan telefon mereka kepada kod saya. Setiap satu daripada mereka membantu dalam kestabilan program itu sendiri.
@dotMiracle
@Eranz
@ kdrag0n
@ ASHLEY117
@ Abhirams2020
@mountaser_halak
Untuk Subcore berfungsi dengan baik, sila pastikan perkara-perkara berikut adalah betul:
• Pastikan Subcore sentiasa diberi akar.
• Gunakan mod memori rendah jika peranti itu tidak mempunyai ZRAM atau ZCACHE, atau jika anda melihat aplikasi yang terhempas / tidak membuka.
Pengguna boleh menghubungi saya pada bila-bila masa untuk mendapatkan maklum balas.
Gmail: tylernij@gmail.com
Telegram: @tytydraco
XDA: @tytydraco