Graphics Processing Unit Mobile





     Sobat rui ini tentu kita sering mendengar istilah Graphics Processing Unit (GPU) terutama pada perangkat smartphone berbasis Android. Tentu beberapa orang dari kita sudah mengetahui apa itu GPU tapi tidak sedikit yang belum apa itu GPU, apa fungsinya serta GPU seperti apa yang sesuai dengan kebutuhan kita ketika kita sedang memilih perangkat smartphone.
  • Apakah GPU / Graphics Processing Unit?
     GPU atau Graphics Processing Unit adalah chip yang bekerja mengotaki kinerja grafis pada perangkat khususnya yang berbasis Android. GPU tidak lain adalah Video Graphics Adapter (VGA) PC/Komputer karena pada dasarnya prinsip kerjanya sama. Tentu GPU memegang peranan penting pada perangkat berbasis Android ketika digunakan untuk bermain game-game 3D kelas High Definition (HD) atau video berkualitas tinggi. Tentu semakin tinggi kualitas GPU maka semakin mahal harga sebuah perangkat Android.

  • Cara kerja Graphics Processing Unit

     Saat GPU menerima raw data,serangkaian proses panjang dimulai dan diakhiri dengan memunculkan gambar di layar perangkat. Graphics Pipeline, yaitu channelling agar data dalam card sampai pada frame buffer, umumnya hampir sama pada semua graphics card yang ada saat ini. Seluruh proses tersebut diulang untuk setiap gambar (frame). Agar dapat menghasilkan gerakan yang cepat.

     Setelah data dikirim ke GPU melalui interface, langkah pertama proses pipeline-nya adalah mempersiapkan kalkulasi (pre-calculation) dan mengubah data dengan menggunakan sebuah pre-processor (setup Engine atau Input Assembler). Pre-processor ini mendeteksi jenis data, apakah berkaitan dengan vector,gambar,dank ode program, dan mempersiapkan raw data sehingga dapat diproses oleh modul yang tepat. Disini, ditentukan apakah raw data diproses oleh sebuah Vertex Shader, Geometry Shader, Pixel Shader, atau sebuah texture unit.

     Setiap objek 3D terdiri atas berbagai triangle. Vertex Shader (Vertices adalah titik-titik sudut sebuah polygon) disuplai dengan koordinat-koordinat ini. segitiga-segitiga ini kemudian membentuk sebuah dunia 3D berdasarkan koordinat tersebut yang diselaraskan, di-scaling, atau di-distorsi sesuai dengan arah pandangan mata. Area pandangan yang diasumsikan ini disebut sebagai frustum. Setelah scane tersebut terbentuk,dilakukan pemeriksaan apakah sebuah objek harus terlihat atau tidak, berada di area frustum, dan apakah seluruh atau sebagian ditutupi oleh objek-objek.

     Elemen yang tidak terlihat akan disingkirkan dari scane untuk menghindari proses kalkulasi yang tidak diperlukan. Proses ini disebut Frustum Culling. Apabila ditemukan sebuah objek terlalu jauh untuk dapat terlihat atau terlalu dekat menghadap (membelakangi) penonton (secara teoritis), maka proses ekuivalennya disebut sebagai clipping.

     Proses Vertex Shader yang terakhir adalah lighting. Disini, 3D scane akan diterangi oleh sumber cahaya ke dalam lingkungan (ruang) tersebut. Tanpa langkah ini, 3D scane terlihat gelap. Vertex Shader hanya dapat memanipulasi objek, namun tidak dapat menghasilkan elemen geometri baru, seperti titik, garis, dan segitiga.

     Apabila gambar yang akan dilihat anda (viewer) sudah terbentuk dalam grid model dengan lighting source-nya,berarti prosesnya telah membuat sebuah foto dari scane tersebut dalam gambar 2D (dua dimensi) untuk ditampilkan di monitor. Proses ini dinamakan rastering atau rendering. Setiap titik sebuah objek 3D, yang selama ini hanya disimpan sebagai vector, akan diubah menjadi sebuah pixel. Langkah selanjutnya yang menguras tenaga adalah shading (shadowing) yang dilakukan oleh Pixel Shader. Pixel Shader akan memproses warna dan atribut yang diperlukan, seperti trasnparasi, pemantulan atau struktur dari masing-masing pixel. Hasilnya, objek 3D akan mendapat pewarnaan. 

     Prinsipnya, sekarang gambar sudah jadi. Proses yang diperlukan hanyalah penyempurnaan malalui berbagai filter agar scane terlihat lebih realistis. Untuk itu tekstur, yaitu Bitmaps (gambar) yang sudah jadi, akan diproyeksikan menjadi sebuah objek 3D (Texture Mapping). Dengan cara ini, dengan mudah dihasilkan gambar-gambar yang terlihat seperti foto minus fleksibelitas sebuah objek 3D. Jadi obyek yang dibentuk oleh tekstur dapat terlihat bagus dari depan, namun terlihat datar saja dari samping. Anisotrophic filtering, yang juga ditempatkan dalam tekstur units, berfungsi agar teksture yang sudah terdistorsi secara perspektif dapat ditampilkan secara tajam dari kejauhan.

  • Apakah Android benar-benar menggunakan OpenGL ES API untuk percepatan UI?
     Sejak Android 2.1 tidak menggunakan GOOGLES 1,0 API untuk mempercepat GUI, dalam ketiadaan HW menggunakan sampel GOOGLES 1,0 implementasi SW. Jawabannya adalah TIDAK. Android menggunakan skia yang merupakan software untuk render yang menawarkan performa yang hebat dan mudah dibawa di prosesor ARM, hal ini menjadikan sangat baik terhadap NEON ARM (SIMD) prosesor. Implementasi OpenGL Software adalah tidak menawarkan OpenGL ES 1.1 dengan implementasi penuh. Sebuah OpenGL ES hanya mengimplementasi pada perangkat keras yang terintegrasi sebagai bagian dari libgl.so dan libgl2.so, namun ini hanya digunakan melalui lapisan tipis JAVA API untuk permainan dan sebagai bagian dari NDK. Intinya adalah Google perlu untuk keluar dengan mekanisme antarmuka dan tumpukan grafis yang portable dan scalable.

  •  Jenis Graphics Processing Unit
  •  Adreno

     Seri Adreno yang merupakan buatan ATI yang sekarang anak perusahaan AMD dulu disebut seri ATI imageon, sekitar tahun 2002-2004 yaitu pada awal-awal keluarnya seri GPU ini. Pada tahun 2008, AMD imageon di jual ke salah satu produsen prosesor terkemuka, yaitu Quallcom. Dan sekarang ATI/AMD hanya mensupport arsitektur dan pengembangannya saja. Kini seri Adreno merupakan bawaan dari semua SOC (System On Chip) buatan Quallcom. 
  • PowerVR

     Seri PowerVR merupakan buatan video logic yang dulu juga pernah meramaikan pasar VGA, namun seiring dominasi NVIDIA dan ATI, video logic kini hanya bermain di dunia GPU mobile gadget. PowerVR sendiri tidak di produksi dalam bentuk jadi oleh power logic namun mereka hanya membuat draft arsitekturnya yang dijual lisensinya ke berbagai produsen prosesor terkemuka seperti NEC, Intel, Freescale, Texas Instruments dan lain-lain.

     Seri PowerVR sendiri sekarang sudah mencapai 6 seri, seri 2 nya pernah dipakai pada console game tahun 1900-an, yaitu Dream cast dan Sega saturn. Seri powerVR SGX 5 merupakan seri yang paling sering ditemui pada smartphone, SGX 5 sendiri merupakan GPU elite dalam dunia smartphone, mungkin seperti BMW di dunia mobil J.Seri SGX yang tercatat pernah dipakai dalam berbagai smartphone.
  • Mali

     Seri Mali, GPU ini merupakan arsitektur buatan ARM, walaupun masih jarang terdengar namanya, namun kekuatannya tidak bisa diremehkan. Seri-seri GPU Mali beredar mulai dari HDTV, game console (PS3), hingga smartphone. Khusus untuk smarphone, seri yang digunakan adalah Mali 400MP4 (MP adalah indikator core yang digunakan). GPU ini merupakan bagian dari SOC Exynos dualcore CPU 1.2ghz A9 milik Samsung Galaxy S II. Kabarnya Mali 400MP4 ini mampu merender hampir setara PS3 maupun Xbox 360.

  • GeForce ULP

     Seri Geforce ULP (Ultra Low Power) merupakan GPU yg mnjadi bagian dari SOC Tegra 2 yang diproduksi oleh NVIDIA. Geforce ULP ini menggunakan Quadcore 4 pixel shaders + 4 vertex shaders hingga total ada 8 core yang berada di dalamnya.

     Jika untuk menentukan performa tentu saja tidak lepas dr SOC apa yg dipakai, sangat sulit untuk menentukan point yg digunakan untuk komparasi karena masing-masing GPU sangat tergantung juga pada kinerja dan support dari SOCnya. Contohnya saja, SOC OMAP seri 4 dgn GPU SGX540 quadcore vs tegra 2 dgn GPU ULP geforce 8 core, sapa yg akan menang? Apabila melihat jumlah core, secara kasat mata orang akan menjagokan 8core yg berada pada geforce ULP namun bila menghitung kemampuan SOC maka trlihat OMAP 4 trnyata bisa melibas Tegra 2, tidak hanya dari hasil benchmark, framerate, javascript render, namun juga dalam soal efisiensi pemakaian batrai.

     Hal ini tidak mengherankan karena OMAP 4 memiliki beberapa senjata rahasia seperti support dual channel memori LP DDR2 hingga 1GB, dimana Tegra 2 baru mampu menggunakan single channel. Kembali lagi kemampuan SOC sangat menentukan hasil, begitu juga dengan Snapdragon dengan core scorpionnya, apakah akan kalah perform dengan Tegra 2? Tidak juga, terutama untuk hasil multimedia dimana kekuatan snapdragon dan adreno memang di optimalisasi pada sisi ini.