Kamis, 15 September 2016

Cara membatasi CPU Usage saat main game lawas

Dalam artikel Cara Mengurangi CPU Usage Tinggi anda sudah mendapatkan tip pemanfaatan Processor Power Management (PPM) untuk menghindari CPU overheat, yaitu dengan mengatur Maximum processor state di bawah 100% pada power plan Balanced (atau custom power plan yang anda buat sendiri) untuk pemakaian normal, dan menggunakan power plan High performance pada saat menjalankan program-program yang memerlukan performa CPU yang tinggi. Dengan memanfaatkan PPM anda juga dapat membatasi CPU Usage pada saat bermain main game lawas.

Dalam pembuatan sebuah game, pengembang game selalu mempertimbangkan speed CPU yang banyak terpasang dalam PC pengguna pada jaman itu dalam menentukan nilai performa game yang optimum agar gamenya dapat dijalankan di banyak PC. Ambil contoh game Rise of Nations. Game keluaran tahun 2003 ini mempunyai persyaratan minimum CPU 500 MHz—sebuah persyaratan yang "enteng" bagi PC yang anda miliki sekarang. Tapi anda pasti akan kecewa pada saat menjalankan game ini karena game ini tetap menggunakan speed CPU hingga maksimum. Dengan asumsi bahwa game Rise of Nations dapat dimainkan dengan lancar pada PC jaman dulu yang rata-rata memiliki speed CPU 1 GHz, tentunya penggunaan CPU hingga maksimum pada PC jaman sekarang yang rata-rata menggunakan CPU dengan speed di atas 2 GHz adalah sebuah permborosan daya.

Dengan mengatur Maximum processor state pada PPM anda dapat membatasi speed CPU yang digunakan game agar tidak mencapai maksimum. Sebagai contoh, dengan CPU Intel E5200 yang memiliki speed 2,5 GHz saya dapat membatasi CPU Usage menjadi 60% dari speed maksimum dan tetap dapat memainkan game ini dengan lancar. Keuntungan yang anda peroleh dari trik ini adalah penghematan daya listrik, tidak adanya lagi suara fan yang berisik, dan menghindari CPU overheat.

Tentunya mengubah Maximum processor state secara manual (yang nilainya bisa berbeda-beda untuk setiap game) sebelum memainkan game dan mengembalikannya ke setting-an awal usai bermain game adalah pekerjaan yang "melelahkan" bagi banyak orang. Oleh karena itu kali ini saya menyertakan kode batch yang dapat anda gunakan untuk mengotomatisasinya. Batch ini memanfaatkan command-line utility powercfg untuk mengatur PPM (program powercfg yang digunakan batch ini adalah versi Windows 7 ke atas). Kopi batch di bawah ini dan save dengan menggunakan program notepad dengan nama "throttle.cmd".

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
@echo off
setlocal
set TmpScheme=84b4860e-00ca-4933-8ea5-03184b8ff2ad
set "TmpFolder=%LOCALAPPDATA%\CPU Throttle\"

if "%~1"=="" goto ERR_USAGE
if "%~1"=="/reset" goto RESET
if "%~2"=="" goto ERR_USAGE

if not exist "%TmpFolder%" md "%TmpFolder%"

for /f "tokens=4 delims=:( " %%A in ('powercfg -getactivescheme') do (
  set OldScheme=%%A
)

if %OldScheme%==%TmpScheme% goto RESET

echo %OldScheme%> "%TmpFolder%scheme.txt"
powercfg -duplicatescheme SCHEME_BALANCED %TmpScheme% > nul
powercfg -changename %TmpScheme% "Temporary Power Plan"

:SETPLAN
powercfg -setacvalueindex %TmpScheme% SUB_PROCESSOR PROCTHROTTLEMIN 5
powercfg -setdcvalueindex %TmpScheme% SUB_PROCESSOR PROCTHROTTLEMIN 5
powercfg -setacvalueindex %TmpScheme% SUB_PROCESSOR PROCTHROTTLEMAX %~2 || goto CLEANUP
powercfg -setdcvalueindex %TmpScheme% SUB_PROCESSOR PROCTHROTTLEMAX %~2
powercfg -setactive %TmpScheme%

pushd "%~dp1"
"%~nx1"
popd

:REVERT
powercfg -setactive %OldScheme%
:CLEANUP
powercfg -delete %TmpScheme%
del "%TmpFolder%scheme.txt"
goto :EOF

:ERR_USAGE
echo.
echo Cara pakai: %~n0 NAMAPROGRAM NILAIMAXSTATE
echo Contoh: %~n0 c:\myprogram.exe 80
echo Gunakan tanda kutip bila dalam NAMAPROGRAM terdapat spasi.
echo Contoh: %~n0 "c:\my program.exe" 90
echo NILAIMAXSTATE tidak boleh melebihi 100.
echo.
echo Cara pakai: %~n0 /reset
echo Kembali ke settingan power plan awal.
echo Gunakan command line ini bila pc mengalami mati listrik saat batch ini berjalan.
pause
goto :EOF

:RESET
if not exist "%TmpFolder%scheme.txt" goto :EOF
for /f "usebackq" %%A in ("%TmpFolder%scheme.txt") do set OldScheme=%%A
if "%~1"=="/reset" (goto REVERT) else goto SETPLAN

Simpan file batch ini dalam folder yang dapat diakses semua user (Contoh: C:\Program Files). Command line dari Batch ini mempunyai 2 argumen yang harus anda isi. Argumen pertama adalah nama program yang akan dijalankan (lengkap dengan alamat folder tempat file program ini berada alias full path). Argumen kedua adalah nilai Maximum processor state yang anda inginkan pada saat menjalankan program tersebut. Antara nama file batch, argumen satu dan argumen dua dibatasi dengan spasi.

Misalnya dalam contoh ini file batch (throttle.cmd) disimpan dalam folder C:\Program Files\Scripts dan file game Rise of Nations (rise.exe) berada dalam folder c:\Program Files (x86)\Rise of Nations. Maka command line yang yang digunakan untuk menjalankan game ini dengan 60% dari speed maksimum adalah sebagai berikut:

"C:\Program Files\Scripts\throttle.cmd" "c:\Program Files (x86)\Rise of Nations\rise.exe" 60

Penggunaan tanda kutip hanya diperlukan bila terdapat spasi dalam file path. Sesuaikan panduan ini dengan kondisi di lapangan. Langkah selanjutnya adalah membuat shortcut ke game dan isikan command line di atas ke dalam box location of the item seperti pada gambar di bawah ini.

Windows shortcut dialog

Sekarang anda dapat menjalankan game dan membatasi CPU Usage-nya melalui shortcut tersebut. Cara kerja batch ini adalah dengan membuat power plan sementara—dimana setting-an Maximum power state nya sesuai dengan argumen kedua yang anda masukkan—sebelum menjalankan program yang anda masukkan sebagai argumen pertama. Setelah program selesai, batch ini akan mengembalikan setting-an power plan sebelumnya. Tapi bagaimana bila pada saat program berjalan tiba-tiba mati listrik? Untuk itu batch ini mempunyai command line khusus untuk me-reset power plan:

"C:\Program Files\Scripts\throttle.cmd" /reset

Gunakan command line di atas untuk membuat shortcut pada Startup folder (gunakan panduan ini untuk membuka Startup folder) agar bila anda menjalankan PC setelah mati listrik, Windows Explorer yang akan menjalankan batch ini pada saat startup untuk mengembalikan setting-an power plan sebelumnya.

Satu hal yang perlu anda ingat adalah membatasi CPU Usage melalui PPM akan membatasi CPU Usage dari semua program yang sedang berjalan. Namun pada umumnya orang tidak akan menjalankan program lain yang CPU-bound pada saat bermain game.

Semoga bermanfaat.

Tidak ada komentar:

Posting Komentar