하위 코어는 장치의 다양한 센서를 사용하여 다른 사용 프로파일을 체계적으로 적용하는 루트 데몬입니다. 목표는 현재 워크로드에 대한 바이어스 가정을하기 위해 CPU 주지사를 의지하기 위해 사용자의 작업량을 기반으로 균형을 이루는 것입니다.
하위 코어는 수많은 커널 파일을 읽고 쓸 수 있도록 장치 인. 이러한 인터페이스는 다음과 같습니다.
• 활성 CPU로드
• 사용 가능한 CPU 코어
• 사용 가능한 CPU 주지사
• 사용 가능한 CPU 주파수
• 사용 가능한 GPU로드
• 사용 가능한 GPU 주파수
• 현재 배터리 용량
• 배터리 상태 (충전 / 방전) • 화면 상태
주요 알리미 (기본 선택)
◦ 전원 일시 중지 (2 차 선택)
◦ FrameBuffer 인터페이스 ( 3 차 선택)
• 사용 가능한 장치 메모리
• 최대 장치 메모리
• 사용 가능한 IO 스케줄러
• 블록 ReadaHead
• 블록 스왑
• 블록 캐시 압력
• 블록 더러운 배급
• 랜덤 엔트로피
• 오버컴 블록
• 블록 페이지 클러스터
• 블록 더러운 센터
• 블록 LMK
• 노트북 모드 블록
• KSM 블록
유일하게 생성 된 대화 형 튜너 블의로
• 고유 사용자 예측 어떤 형태없이 Schedutil 튜너 블
가상 생성이 게임은 로딩 장면, 부하 요구 사항 강하하는 동안 잠시 지연으로 시작할 수 있습니다. 이를 막기 위해, 하위 코어는 낮은 부하의 순간에도 무거운 응용 분야에서 유동성을 유지하려고 시도하는 사용자 예측 알고리즘을 구현합니다. 그것은 반복적 인 부하 평균을 결정하고 부하가 일관되면 더 오래자는 것으로 작동합니다.
하위 코어는 낮은 수준 (그러나 UsersPace) 도구이므로 배터리 통계에 직접 액세스 할 수 있습니다. 충전 (및 화면 켜짐)을 사용하면 하위 코어는 사용자가 UI / UX 적합성을 무시하고 에너지 제한을 무시할 수 있도록 하위 코어가 가장 높은 공연 프로파일로 성능을 향상시킵니다. 또한 Subcore가 장치를 15 % 배터리 이하로 감지하면 LoadAvg의 절반이므로 다음 프로파일을 입력하기 위해 두 배의 CPU로드가 필요하다는 것을 의미합니다. 마찬가지로 5 % 배터리 이하에서 하위 코어는 장치를 깊은 수면 또는 유휴 상태에 맞게 최적화되어 배터리로 덩어리를 희생시키는 가장 낮은 프로파일에 장치를 잠급니다. 이 설정은 하위 코어 GUI 응용 프로그램에서 "전원 인식 사용 안 함"을 토글함으로써 비활성화 할 수 있습니다.
Subcore는 RUPG를 호출하는 새로운 개념을 구현합니다. 하위 코어를 특별하게 만드는 것은 본질적으로 모든 장치와 호환되는 사실입니다. 런타임에, 하위 코어는 초기에 다양한 요소를 기반으로 다양한 장치 별 프로파일을 생성하기 위해 데이터의 힙을 수집합니다. 이러한 생성 된 프로파일은 각 장치에 대해 서로 크게 최적화되어 있으므로 각 사용자는 제공된 하드웨어 / 소프트웨어에 대한 가장 효율적인 소프트웨어 경험을 달성합니다. 이러한 프로파일은 메모리에 저장되며 하위 코어가 종료 될 때 삭제로 표시됩니다. RUPG가 이용되는 몇 가지 예는 장치 특정 LMK 오프셋 (MINFREE)의 생성에 있습니다. 각 장치에는 다른 RAM 크기가 있으므로 해외 각 옵셋 벡터 (very_light -> very_aggresive)마다 최적 LMK minfree 크기를 수동으로 계산해야합니다. 하위 코어는 또한 주지사 튜너 블의 생산에서 RUPG를 사용합니다. 각 장치에는 다른 SOC CPU 주파수 테이블이 있어야합니다. 이러한 프로파일은 바이너리에 의해 자동으로 생성되므로 사용자는 스스로를 조정할 필요가 없습니다.
하위 코어는 화면 켜기 및 화면에서 눈에 띄는 배터리 수명 개선을 초래합니다.
개인적으로 내 코드로 전화기를 희생시키기 위해 모든 테스터를 개인적으로 감사드립니다. 각자 중 하나는 프로그램 자체의 안정성을 지원했습니다.
@ kdrag0n @ ashley117
@mountaser_halak
>에 대한 Subcore 작업에 적절하게 다음과 같은 일이 제대로되어 있는지 확인하십시오.로
확실 Subcore 항상 부여 루트를 확인 •로
• 사용 낮은 메모리 모드 장치가 ZRAM 또는 ZCACHE 경우, 또는이없는 경우 통지 앱이 충돌 / 열기가 아닙니다.
사용자는 피드백을 위해 언제든지 저에게 연락 할 수 있습니다.
Gmail : tylernij@gmail.com
텔레 그램 : @tytydraco
xda : @tytydraco
- Refactor low-memory mode to Memory-Aware
- Improve memory-aware RAM management (increase cache pressure)