Kenapa sih
kalo browsing internet atau kalo jalanin aplikasi yang perlu koneksi internet handphone boros batere?
Apa sih sebabnya?
"Pembahasan ini merupakan tafsiran penulis dari penelitian
dari Lab AT & T dan Univeritas Michigan, untuk artikel asli bisa dilihat di
sini"
Karakteristik Mobile Device dan Selular Network
Seperti yang kita tau semua mobile device (laptop,
handphone, tablet,etc) sumber powernya itu berasal dari batere. Batere punya
kapasitas terbatas. Untuk mengoptimalkan penggunaan batere ini jaringan selular
punya mekanisme untuk meng-hybernate-kan transmisisi saat ga diperlukan. Dari
segi network juga begitu radio resource
tidak selalu dipegang terus oleh 1 user(mobile device) setelah selesai mengirim
data (contoh, kirim whatsapp message ke temen) resource akan dilepas. Jadi
tidak selamanya selalu siap kirim data ke server.
Network 3G kita kenal ada 3 state yang menggambarkan status
penggunaan resource (batere dan radio resource) seperti terlihat pada gambar 2
Idle saat device “hibernate”, full power saat user perlu kecepatan transfer data
tinggi dan efeknya konsumsi batere juga tinggi. Half power ada diantara idle dan full power namun dalam pembahasan ini half power tidak dibahas.
Ketidak-ideal-an Selular Network
Idealnya transisi antar state ini terjadi seketika tanpa ada
waktu transisi, contoh saat kita mau browsing lewat handphone pertama kali
pasti terasa lama loading awal pertama dibanding loading-loading berikutnya. Ini
disebabkan oleh delay transisi dari idle ke full power. Delay ini mengakibatkan
terganggunya user experience misal proses browsing jadi lebih lama.
Untuk mengurangi efek dari delay ini dibuat lah tail time.
Tail time ini waktu yang harus ditunggu device sebelum hibernate, dengan ada
tail time ini diharapkan transisi state karena “delay antar paket" yang besar
berkurang berkurang karena device menunggu lebih lama.
“ Delay antar Paket “
- Saat dikirim dari server delay antar paket kecil, saat akan diterima paket antara paket 3 dan 2 delay antar paketnya besar.
- Handphone bisa jadi sudah hibernate saat paket 3 sampai karena mengira transmisi sudah selesai.
- Dengan mengunakan tail time besar handphone menunggu lebih lama sehingga saat paket 3 sampai device masih belum idle
Namun efeknya adalah konsumsi power yang besar karena device
berada dalam kondisi full power lebih lama.
Inefficiency of mobile application
Sesuai dengan judul kita kan membahas tentang mengapa
applikasi mobile sangat menguras batere.
Ternyata penyebabnya kebanyakan adalah short burst yang berulang-ulang
sehingga device selalu berada dalam keadaan full power atau menyebabkan device
sering mengalami transisi state bisa
dilihat digambar dibawah ini.
Warna coklat menunjukan waktu yang dibutuhkan untuk menyalakan
transmis atau delay time, warna biru tua
adalah saat device benar-benar menerima data dari server idealnya kita mau hanya
ada warna biru tua ini saja. Warna biru muda adalah kondisi saat device
menunggu sebelum meng-hibernate-kan transmisi atau bisa dibilang warna biru
muda ini bagian energy yang terbuang karena tidak ada transmisi sama sekali
namun masih dalam keadaan full power.
Penyebab short burst:
- Di aplikasi google search penyebab short burstnya itu search suggestion, setiap kita ketik satu huruf kita diberi feedback suggestion dari server google.
- Beberapa news app, tidak melakukan prefetching(meload banyak konten di awal) sehingga setiap user men-scroll halaman akan mentrigger request meload berita yang ada dibagian yang di-scroll dari server.
- Applikasi yang memasang iklan di aplikasinya, kadang setiap beberapa saat applikasi itu meload iklan untuk ditampilkan.
- Applikasi messenger, di aplikasi messanger untuk mengetahui status teman kita aplikasi kita sebenarnya menge-ping teman kita, ping kadang dilakukan periodik.
Kesimpulannya, alangkah baiknya application developer mengurangi
short burst untuk aplikasi mobile.
No comments:
Post a Comment