[TWEAK] Optimized All Kernel và Info All

Kernel bây giờ đã có, vậy thì bước tiếp theo, OPTIMIZED KERNEL.

Một người chỉ sử dụng Android đơn giản, không quan tâm nhiều đến việc tác động sâu vào hệ thống, thì có hơi phức tạp lắm không ? Câu trả lời là có, vậy nên, sau đây mình xin chia sẻ cách đơn giản nhất, để tối ưu hoá nhất Kernel

I. BASIC CHO NGƯỜI MỚI


Cần những gì:

- Một cái điện thoại chạy Android :laugh:
- Root
- Phần mềm quản lý CPU và GPU: tuỳ bạn lựa chọn...SetCPUKernel TunerTrickster MOD...
Đầu tiên đề cập đến: COMBO
Là thiết đặt lựa chọn Governor và I/O cùng nhau để đạt hiệu suất tối ưu nhất

Dưới đây là COMBO được đánh giá là tối ưu nhất cho từng yêu cầu của các bạn 
Dùng SetCPU, hay Trickster Mod, các bạn có thể dễ dàng điều chỉnh và lựa chọn




1. Ondemand + Noop: Tốt cho việc sử dụng từ nhẹ đến nặng, một COMBO ổn định cho ai yêu cầu vừa chơi game, vừa sử dụng hằng ngày :laugh:

2. Ondemand + CFQ: Cho những ai yêu cầu cao hơn, thích mượt hơn so với Noop

3. Performance + Deadline ( Hay Performance + CFQ ): Dĩ nhiên, dành cho gamer, hiệu năng tốn nhất, tốn pin nhất. Cái gì nhất cũng là COMBO này :laugh:

4. Smartass + SIO: Rất tốt về thời lượng pin sử dụng

4.1 Smartmax + ROW: Hoàn hảo 100% về tiết kiệm pin

5. Intellidemand + SIO: Cân bằng về việc chơi game cũng như pin. Nhưng Intellidemand chỉ có trong F93 Kernel nên... tuỳ bạn lựa chọn
P/S: SIO và CFQ luôn có thể kết hợp tốt nhất với bất kỳ Governor nào, vì 2 cái I/O đó được đánh giá cao nhất trong việc đáp ứng truy xuất ổn định

II. ADVANCED - CHUYÊN SÂU

Như chúng ta đã biết ( có lẽ có vài hoặc, chí ít nhiều bạn không biết về 2 cái này ) nên mình tạm định nghĩa đơn giản cho dễ hiểu đã:

CPU Governor: là một thành phần dùng để kiểm soát xung nhịp CPU. Nhiệm vụ của Governor đó là điều khiển CPU tăng hoặc giảm xung nhịp cho phù hợp với nhu cầu của người dùng. Governor rất quan trọng bởi nó ảnh hưởng rất lớn đến độ mượt giao diện cũng như thời lượng dùng pin của chiếc máy bạn đang cầm trong tay.

I/O Scheduler: là cụm từ được dùng để mô tả cách thức mà hệ điều hành quyết định thứ tự các khối lệnh vào/ra sẽ được chuyển đến bộ nhớ lưu trữ. Nói ngắn gọn, quản lý tốc độ đọc, nhập/xuất của các thành phần trong hệ điều hành Android.
:laugh: THÔNG TIN THÊM :laugh:

Hiện tại thì kernel cho Optimus G chúng ta hỗ trợ các Governor

1. Ondemand: Khi mức độ tải của CPU đạt đến một điểm cực đại, Ondemand sẽ nhanh chóng nâng xung nhịp CPU lên cao nhất có thể để đáp ứng được nhu cầu sử dụng máy của chúng ta, sau đó nó sẽ dần dần giảm xung xuống

2. Interactive: Có chức năng tương tự như Ondemand, tuy nhiên nó tập trung nhiều vào việc tăng tốc độ phản ứng của việc thay đổi tốc độ CPU. Nói cách khác, nếu một ứng dụng đòi hỏi 100% tải CPU, người dùng vẫn có đủ thời gian để chạy thêm một tác vụ khác trước khi CPU bắt đầu giảm xung nhịp nếu lập trình viên đặt quãng thời gian đủ dài. Cũng nhờ có bộ định thời mà Interactive có thể tận dụng tốt hơn các xung nhịp ở khoảng giữa mức tối đa, tối thiểu. (Ví dụ, max là 1500MHz, min là 300MHz, bạn sẽ thấy máy có chạy ở mức 1000MHz, 800MHz, 700MHz, 600MHz,...)

3. Powersave: Nó sẽ giữ cho xung nhịp CPU ở mức thấp nhất mà người dùng thiết lập, nhờ vậy thời gian dùng pin sẽ được kéo dài ra, tuy nhiên máy sẽ chậm đi thấy rõ.

4. Performance: Như cái tên của nó đã gợi ý, khi chọn Governor này, máy của chúng ta sẽ hoạt động với hiệu năng cao nhất có thể, phát huy toàn bộ sức mạnh của CPU, tuy nhiên sẽ hao pin hơn.

5. Userspace: Người dùng phải thiết đặt thủ công các mức xung nhịp CPU từ thấp nhất đến cao nhất. Rất mất thời gian để điều chỉnh, nên khuyến cáo không bao giờ chọn Governor này.

6. Smartass: ( trong kernel F93 ) Với khả năng giữ máy chạy ở xung nhịp thấp nhất trong trường hợp thiết bị đang ở trạng thái chờ ( stand-by ). Thực chất Governor này sử dụng cùng ý tưởng với Governor Interactive nhưng về hiệu năng sử dụng và pin thì hơn hẳn Interactive.

7. Lazy: ( trong kernel F93 ) Dựa trên Ondemand, nhưng Lazy luôn dành ra 1 khoảng thời gian để cho xung nhịp CPU đạt mức cao nhất không thay đổi cho dù đã đáp ứng được nhu cầu sử dụng của ứng dụng. Lazy Governor là 1 giải pháp tốt để giảm thiểu lag, nhưng bù lại tốn pin hơn.

8. Intellidemand: ( trong kernel F93 ), hay còn gọi là Intelligent Ondemand, một Ondemand Governor thông minh hơn. Khi GPU ở trạng thái nghỉ ( không chơi game ý :laugh: ), nó sẽ hạn chế làm việc ở mức xung nhịp cao nhất ( tức không cho CPU đạt xung nhịp cao nhất khi chạy ứng dụng nào đó ). Ngược lại, khi chơi game, GPU hoạt động, nó sẽ đẩy cả 4 nhân lên xung nhịp tối đa. Governor này phần lớn dựa vào GPU, nên khá ổn cho gamer.

9. Asswax: ( trong kernel F93 ), là sự pha trộn của 3 Governor là Smartass, Interactive, Performance. Một Governor được đánh giá là cho phép khả năng đáp ứng của máy đạt ở mức cao nhất, xung nhịp CPU luôn ổn định ở mức trung bình ( khoảng 1138Mhz đến 1428Mhz ), và cân bằng thời lượng pin sử dụng. Thích hợp cho nhu cầu lướt facebook, chit chat, lướt web...

10. OndemandX ( hay Ondemandplus ): ( trong kernel F93 ) Cách thức làm việc y chang Ondemand, nhưng thiết đặt giữ mức xung nhịp thấp nhất khi không hoạt động là 500Mhz ( bất kể bạn có thiết đặt ở 702Mhz hay 384Mhz đi chăng nữa ). Tốn pin hơn, nhưng hiệu năng tốt hơn Ondemand.

10. Wheatley: ( trong Cyan-Solid Kernel bản v0.5 và Stock-Solid Kernel bản cũ ) Tối ưu hoá việc sử dụng 4 nhân, và đẩy nhân CPU thứ 4 ở trạng thái luôn sẵn sàng hoạt động ( không offline như Ondemand ), nhưng không hao tốn nhiều năng lượng. Governor này thích hợp cho chạy đa nhiệm.

11. Smartmax: ( trong kernel F93 MPD ) là 1 Governor hoà trộn giữa ondemand và Smartass. Cho phép CPU luôn hoạt động ở 1 tần suất nhất định, và nghỉ hoàn toàn khi stand-by.Đây là 1 Governor hoàn hảo cho vấn đề về sử dụng pin.

và các I/O sau:

1. Noop: Chèn tất cả những yêu cầu I/O vào một hàng "First In First Out" (tức là dữ liệu nào vào trước thì sẽ được xử lí và đi ra trước). Đây là I/O Scheduler rất thích hợp cho những thiết bị lưu trữ không dựa vào các chuyển động cơ học để truy cập dữ liệu (vâng, chính là thẻ nhớ hoặc bộ nhớ flash trên smartphone, tablet Android của chúng ta).

Lợi ích:
  • Tiết kiệm pin.
  • Tối ưu hóa cho bộ nhớ flash ( như LG Optimus G chúng ta )
  • Cho tốc độ cao trên những hệ thống, ứng dụng cần sử dụng nhiều đến cơ sở dữ liệu.

Hạn chế:
  • Hiệu năng CPU không ổn định
  • Tốc độ ghi lên thẻ nhớ chưa cao bằng Scheduler Deadline và CFQ


2. Deadline: Mục tiêu của I/O Scheduler này là để giảm tối thiểu độ trễ. Có tất cả năm hàng (queue) được dùng để liên tục sắp lại các dữ liệu đầu vào.

Lợi ích:
  • Gần như là một Scheduler theo thời gian thực
  • Tối ưu cho việc giảm độ trễ khi nhập và xuất
  • Tối ưu hóa cho việc truy cập và truy cập cơ sở dữ liệu
  • Tính toán việc xử lý đọc/ghi dữ liệu trong bộ nhớ máy và thẻ nhớ nhanh hơn bất kỳ Scheduler nào
  • Giống Noop, Deadline là một Scheduler tốt cho các ổ SSD, bộ nhớ flash

Hạn chế
  • Khi hệ thống bị quá tải, một số lượng lớn tiến trình có thể không kịp chuyển dữ liệu đi theo đúng yêu cầu của ứng dụng, và sẽ bị đứng máy :laugh:


3. CFQ: Ba chữ cái này viết tắt cho Completely Fair Queuing, tức là tuyệt đối công bằng. Scheduler này sẽ cố gắng phân bổ băng thông I/O đều hết cho mọi tiến trình trong máy.
Lợi ích:
  • Mang lại hiệu năng I/O cân bằng, tốc độ ghi dữ liệu lên thẻ nhớ (và bộ nhớ trong) nhanh
  • Tốt cho các hệ thống có nhiều nhân xử lí
  • Có hiệu suất tốt nhất cho các hệ thống và ứng dụng thường xuyên dùng đến cơ sở dữ liệu, chỉ xếp sau Deadline Scheduler

Hạn chế:
  • Khi sử dụng CFQ trên Android, một số người dùng nói rằng việc quét các tập tin đa phương tiện (lúc máy mới mở lên) mất nhiều thời gian để hoàn tất hơn bình thường. Có thể hiện tượng này xảy ra là do băng thông I/O bị phân bố đều cho toàn hệ thống, do đó tiến trình dùng cho việc quét không được ưu tiên.
  • Một số trường hợp khác cũng có độ trễ cao.


4. SIO: (một số có, một số không, tùy kernel) Simple I/O Scheduler được tạo ra nhằm mục tiêu giảm độ trễ của các yêu cầu I/O và nó là một thứ pha trộn giữa noop với deadline. Các request sẽ không được sắp xếp lại.

Lợi ích:
  • Đơn giản, do đó hoạt động ổn định
  • Hạn chế độ trễ của các yêu cầu I/O

Hạn chế:
  • Tốc độ ghi ngẫu nhiên bị chậm hơn so với những scheduler khác
  • Tốc độ ghi liên tục trên bộ nhớ trong không tốt lắm.

5. ROW: ( trong F93 và Cyan-Solid kernel, Stock không có ) READ OVER WRITE: Đọc được ưu tiên hơn Ghi :laugh: . Tức là việc truy xuất dữ liệu từ bộ nhớ sẽ nhanh hơn, đồng thời, việc ghi dữ liệu từ bộ nhớ chậm hơn.

Lợi ích:
  • Đơn giản, ổn định
  • Tốc độ nhập dữ liệu, cũng như truy vấn dữ liệu cao, nên máy khỏi động nhanh hơn

Hạn chế:
  • Tốc độ ghi dữ liệu bị hạn chế
  • Đôi khi việc lưu hình ảnh, phim từ camera bị chậm
Đến bước này thì cần sử dụng phần mềm rồi này
Mình khuyến khích các bạn sử dụng Trickster Mod hoặc Faux123 Kernel Enhancement để tối ưu, vì rất dễ sử dụng

Dùng Trickster MOD, ở phần CPU Governor, các bạn thiết lập Governor cho mình, Apply đã, rồi vào phần Governor Control để tweak






Ở đây mình xin lưu ý, rất đơn giản, nhưng mình chỉ đưa ra các tối ưu hoá dành cho những Governor phổ biến như Ondemand, Interactive,... thôi

Lưu ý thêm là mình không giải thích nghĩa của các setting trong Governor Control vì...rất mất thời gian ( mình cũng hơi bị....lười :laugh: ), vả lại, mục đích của mình khi lập topic này là tối ưu hoá 1 cách đơn giản nhất, dành cho người không rành nhiều về hệ thống có thể thực hiện được ngay. Còn ai thích phức tạp, xin mời hỏi Đại ca Google


Ondemand Tweak

Tối ưu hoá cho thời lượng sử dụng pin:

up_threshold = 95
sampling_rate = 120000
sampling_down_factor = 1
down_differential = 5
optimal_freq = 594000
sync_freq = 1512000
freq_step = 10 ( kernel không có cái này bỏ qua cũng được )

Tối ưu hoá cho performance:

up_threshold = 70
up_threshold_multicore = 60
sampling_rate = 50000
sampling_down_factor = 2
down_differential = 15
optimal_freq = 1458000
sync_freq = 1512000
freq_step = 50( kernel không có cái này bỏ qua cũng được )
Interactive Tweak

Tối ưu hoá cho thời lượng sử dụng pin:

go_hispeed_load = 95
hispeed_freq = 1000000
min_sample_time = 10000
timer_rate = 40000

Tối ưu hoá cho performance:

go_hispeed_load = 75
hispeed_freq = 1512000
min_sample_time = 40000
timer_rate = 10000
OndemandX ( Ondemandplus )

Tối ưu hoá cho thời lượng sử dụng pin:

up_threshold = 85
down_differential = 10

Tối ưu hoá cho performance:

up_threshold = 70
up_threshold_multicore = 60
down_differential = 15
Smartass

Tối ưu hoá cho thời lượng sử dụng pin:
awake_ideal_freq = 600000
sleep_ideal_freq = 200000
max_cpu_load = 60
min_cpu_load = 30
ramp_down_step = 200000
down_rate_us = 45000

Tối ưu hoá cho performance:

awake_ideal_freq = 800000
sleep_ideal_freq = 300000
max_cpu_load = 90
min_cpu_load = 70
ramp_down_step = 200000
ramp_up_step = 100000
down_rate_us = 45000
Smartmax Tweak

Tối ưu hoá cho thời lượng sử dụng pin:
Để mặc định được rồi, vì chẳng governor nào chỉnh cân bằng pin hoàn hảo như Smartmax :laugh:

Tối ưu hoá cho performance:

sampling_rate = 30000
touch_poke_freq = 1512000
awake_ideal_freq = 8100000
boot_fred = 810000
III. Boost Turbo - Tối ưu hoá GPU

NHỚ KỸ:ĐÂY LÀ MỤC CAN THIỆP VÀO HỆ THỐNG, CÁC BẠN NÊN TỰ MÌNH QUYẾT ĐỊNH KHI SỬ DỤNG. MÌNH KHÔNG CHỊU TRÁCH NHỆM CHO BẤT CỨ TRƯỜNG HỢP NÀO. 
NẾU BẠN " OK, KHÔNG VẤN ĐỀ GÌ ", TIẾP TỤC ĐỌC PHẦN DƯỚI ĐÂY

Chắc nhiều bạn không để ý, nhưng khi chơi game và xử lý những tác vụ liên quan đến đồ hoạ, những thiết bị Qualcomm Snapdragon luôn lag hơn chút đỉnh so với Terga và Samsung Exynos hay Power SGX, vì sao ?

Vì mặc định, Qualcomm "ưu ái" cho chúng ta tính năng MP-Decision và GPU-Throttling

MP-Decision: Hoạt động kernel dựa trên Qualcomn Control. MPD luôn giữ 2 nhân luôn hoạt động ( Core 0 và core 1 ) ở xung nhịp thấp, kể cả khi tắt màn hình và tắt tất cả app. Khi hoạt động, MPD hiệu chỉnh cả 4 nhân đồng thời xử lý ở xung nhịp cao. Nhưng GPU lại luôn scaling ở mức thấp nhất 

GPU-Throttling: Khi đạt đến ngưỡng nhiệt độ nhất định ( mặc định của Qualcomm là 50 độ C ) GPU tự động giảm xung nhịp xuống

Dù cho 2 tính năng này có giúp tiết kiệm pin đi chăng nữa, nhưng "cảm ơn" Qualcomm vì nhờ vậy khi chơi game, xung nhịp GPU lúc lên lúc xuống, không ổn định, nên lag hơn hẳn so với những thiết bị sử dụng vi xử lý khác

Do vậy, mình share cho các bạn script này, giúp loại bỏ 2 vấn đề: 1 là giữ xung nhịp GPU luôn ở mức ổn định, 2 là không tự động giảm xung nhịp GPU, khiến việc chơi game cảm thấy bị lag

- Nguy hiểm không ? - Không hề

- Tốn pin không ?- Cũng không nốt

- Vậy share đi còn chờ gì nữa ?- Từ từ mấy bạn

1. Công cụ sử dụng, Trickster Mod, Faux123 Kernel Enhancement, Root Explorer
2. Root
3. File Script

DÀNH CHO CM, AOSP, AOKP... ANDROID 4.3 TRỞ LÊN

DÀNH CHO STOCK ANDROID 4.1.2


CÁCH CÀI ĐẶT ( ĐỐI VỚI ANDROID 4.3 TRỞ LÊN )


1. Download về, chép vào máy. Đầu tiên các bạn vào Trickster Mod hay Faux123 Kernel Enhancement, ở phần Spelific, chọn GPU Governor là simple, và GPU Max Freq là 400 ( hoặc 487 ). Set on Boot, Apply.

2. Chạy 1 game nặng ( N.O.V.A.3 hay Asphalt 8 gì đó ), chơi khoảng 10-15 phút giải trí nào :laugh:

3. Nhấn Home để trở về màn hình chính ( game vẫn chạy nền nhá ). Mở lại Trickster Mod ( hay Faux123 Kernel Enhancement )

4. Spelific, chọn GPU Governor là performance, và GPU Max Freq là 400 ( hoặc 487 ). Set on Boot, Apply.

5. Khi thấy chữ Áp dụng thành công ( Apply sucessfully ), đừng thoát ra vội. Trở lại phần GPU Governor, chỉnh lại thành simple, và GPU Max Freq là 400 ( hoặc 487 ). Cứ chỉnh lại, mặc dù nó đã hiện ra như đúng rồi. Apply lần nữa.

6. Giữ phím Home 1 lúc để ra màn hình Tác vụ đang chạy. Dừng game đang chạy đi

7. File Script đã down dùng Root Explorer copy theo đường dẫn /data/local





8. Mở file Script. Chọn Execute ( ở giữa 2 lệnh Cancel và View khi mình mới mở file script lên )




9. Set Permission như hình




Bỏ check ở Set UID nha

Reboot và tận hưởng
CÁCH CÀI ĐẶT SCRIPT CHO STOCK 4.1.2


1. Download tất cả về máy. Giải nén và chép 2 file vừa giải nén vào bộ nhớ máy.

2. Lên Google Play tải về Universal Init.d ( free )

3. Open Universal Init.d. Ngay giao diện đầu tiên. Nhấn nút Toogle OFF để nó bật thành ON. Sau đó reboot. ( Ai ON sẵn rồi thì khỏi nhấn :laugh: )




4. 2 file giải nén nãy, 1 file là 90userinit. File này copy theo đường dẫn system/etc/init.d/. Set permission 755 ( như hình dưới ). Quay lại, chọn và set permission cho thư mục init.d 755 ( cũng như hình dưới ). Cứ Apply all là được. Sau đó reboot




5. Bật trickster Mod, phần GPU Max Fred, các bạn chọn 320 ( đối với stock 4.1.2 ) và 487 ( đối với Viper kernel ). Apply

6. Còn lại file userinit.sh. Các bạn chép vào theo đường dẫn data/local. Mở file Script. Chọn Execute ( ở giữa 2 lệnh Cancel và View khi mình mới mở file script lên )




7. Set permission 755 như hồi nãy :laugh:. Reboot và tận hưởng 

Lưu ý nhỏ: đối với STOCK, trước khi copy file 90userinit vào thư mục init.d, hãy vào thư mục đó kiểm tra xem có file nào tên xxuserinit ( xx là số ) không, nếu có thì xoá nó đi rồi hẵng copy vào.

Test Game Asphalt 8 - High Setting ( mình cố tình chọn màn nhiều xe đua, 8 xe và 6 xe để nâng graphic lên tối đa )

[media=youtube]HzAqbcaZhq4[/media]

BeanStalk 4.4 + F93 MPD Kernel

Ondemand + CFQ ( optimized performance )
CPU 1458Mhz - GPU 400Mhz
Đã cài đặt Script Boost ở trên

Hơi mờ, do không có camera xịn :laugh:
Do cam cùi nên bị giới hạn 5 phút, quay dc 4 phút tự tắt 
Test trên Beanstalk 4.4, F93 MPD, CPU 1458Mhz, GPU 400Mhz
Script đã được cài đặt

Do quay bằng video cùi nên FPS không tốt lắm, bị hạ xuống vài FPS, trải nghiệm bên ngoài đã cực

Màn Nevana không phải là lag mà là do hiệu ứng chạy trên đường đất đường nứt nẻ khiến cho xe sốc tưng giật nha. Cực mượt

So sánh với Asphalt 8 trên Stock, khác biệt rõ ràng về độ mượt nhá :laugh:

Đăng nhận xét

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
Site is Blocked
Sorry! This site is not available in your country.