SubCore, farklı kullanım profillerini sistematik olarak kullanabilmek için cihazdaki çeşitli sensörleri kullanan bir kök arka plan programıdır. Amaç, mevcut iş yüküyle ilgili önyargı varsayımlarını yapmak için CPU valisine güvenmek yerine, kullanıcının iş yüküne dayanarak bir denge elde etmektir.
Subcore, hangi profilin yerleştirileceğini belirlemek için sayısız çekirdek dosyasına okur ve yazar. Cihaz içeriği. BR> • Akım Pil Kapasitesi
• Batarya Durumu (Şarj / Boşaltma)
• Ekran Durumu
◦ Devlet Notifier (Birincil Seçim)
◦ Güç Askıya Alma (İkincil Seçim)
◦ Framebuffer Arabirimi ( TERTITY CITME (MEVCUT)
• Mevcut cihaz hafızası
• Maksimum cihaz belleği
• Mevcut IO Schedulers
• Block Readahead
• Blok Swappiness
• Blok Önbellek Basıncası
• Kirli Rasyonları Blok
• Rastgele Entropi
• Blok Overcommit
• Blok Sayfa Kümesi
• Blok Kirli Centizecs
• Blok LMK
• Blok Laptop Modu
• Blok KSM
• Benzersiz olarak oluşturulan etkileşimli tlamalar
• Benzersiz bir şekilde oluşturulan Schedutil Tunçları
Bir tür kullanıcı tahmini olmadan, bir oyun yükleme sahnesi sırasında bir an için bir süre gecikmeye başlayabilir. Buna karşı koymak için, subkor, düşük yük anlarında bile, ağır uygulamalarda akışkanlığı korumayı deneyen bir kullanıcı tahmin algoritması uygular. Tekrarlayan yük ortalamalarını belirleyerek ve yük tutarlı olduğunda daha uzun uyuyarak çalışır.
Subcore düşük seviyeli (henüz bir kullanıcı alanı) aracı olduğundan, pil istatistiklerine doğrudan erişimi vardır. Şarj ederken (ve ekran açık), alt krem, kullanıcının UI / UX uygunluğunu, enerji sınırlamasını göz ardı etmelerini sağlamak için performansınızı en yüksek performanslı profile kadar artıracaktır. Ek olarak, alt krem aygıtı algıladığında, cihazın% 15 pil veya daha düşük olduğunda, Loadavg'un yarısı olacaktır, bu da bir sonraki profile girmek için iki kat fazla CPU yükünün gerektirdiği anlamına gelir. Aynı şekilde,% 5 batarya veya daha azından, alt Küçtürüm, cihazı, bataryaya bir miktar performansa feda etmek için derin uyku veya rölantide optimize edilmiş en düşük profile kilitler. Bu ayar, "güç farkına varmayı devre dışı bırak" olarak değiştirerek devre dışı bırakılabilir.
Subcore, RUPG'yi aradığım yeni bir konsept uygular. Subcore özel kılan şey, esasen tüm cihazlarla uyumlu olmasıdır. Çalışma zamanında, alt krem başlangıçta çeşitli faktörlere dayanan çok sayıda cihaza özgü profil üretmek için veri yığınlarını toplar. Bu üretilen profiller her cihaz için ağır bir şekilde optimize edilmiştir, böylece her kullanıcı sağlanan mevcut donanım / yazılım için en verimli yazılım deneyimini gerçekleştirir. Bu profiller daha sonra bellekte kaydedilir ve subkor çıkarken silme için işaretlenir. RUPG'nin kullanıldığı bazı örnekler, cihazın özel LMK ofsetlerinin (MinFree) nesnesindedir. Her cihazın farklı bir RAM boyutuna sahiptir, bu nedenle alt krem, her bir ofset vektörün için optimum LMK enfree boyutlarını manuel olarak hesaplamalıdır (verls_light -> very_aggressive). Subcore ayrıca vali ayarları üretiminde RUPG kullanır. Her cihazın, hesaba katılması gereken farklı bir SOC CPU frekans tablosu vardır. Bu profiller otomatik olarak ikili olarak üretilir, bu nedenle kullanıcının bir şeyi kendilerini ayarlamanıza gerek yoktur.
Subcore, hem ekranda hem de ekran sırasında gözle görülür bir pil ömrü iyileştirmesinde sonuçlanır.
Bütün test cihazlarıma, telefonlarını fedakarlarıma teşekkür etmek istiyorum. Her biri ve her biri programın kendi stabilitesine yardımcı oldu.
@ Kdrag0n
@ ashley117
Abhirams2020
@mountaser_Halak
Subkorun düzgün çalışması için, lütfen aşağıdaki şeylerin uygun olduğundan emin olun:
• Sub Kısınızın her zaman kök alındığından emin olun.
• Cihazın zram veya zcache olmadığı takdirde düşük bellek modunu kullanın veya Uygulamalar çöküyor / açılmıyor.
Kullanıcılar geribildirim için herhangi bir zamanda benimle iletişime geçebilir.
Gmail: tylernij@gmail.com
Telgraf: @tytydraco
XDA: @tytydraco
- Refactor low-memory mode to Memory-Aware
- Improve memory-aware RAM management (increase cache pressure)