Berhubung 2 bagian ini termasuk bagian penting jg dalam mempertimbangkan membeli vga card selain teknologi yang dipakai dan kapasitas bit memory.
Maka gw coba membagi info ttng definisi PP dan PS dibawah ini....
Makin banyak pixel pipeline, makin besar pixel throughput(pixel fillrate) VGA itu, biasanya ditulis dalam xx billion pixel/s.
Makin banyak pixel shader, makin besar processing power VGA, biasa ditulis dalam xx million shader operation/s.
Pixel shader berada dalam pixel pipeline.
Jumlah pixel shader lebih banyak dari pixel pipeline = mungkin
Jumlah pixel pipeline lebih banyak dari pixel shader = tidak mungkin
VGA jaman dulu (Generasi DX8 - X1800 - 7900) cuma punya 1 pixel shader processor dalam 1 pixel pipeline, hal ini berubah di X1900 dimana ada 3 pixel shader dalam 1 pixel pipeline, sedangkan di 8800 namanya jadi stream processor.
Bandingkan X1900XTX vs 7900GTX
X1900XTX = 16 Pixel Pipeline, 48 Pixel Shader
7900GTX = 24 Pixel Pipeline, 24 Pixel Shader
Bagus yang mana? tergantung aplikasi (game)
Untuk game yang banyak menampilkan scene kompleks (misal Oblivion), makin banyak pixel shader makin bagus, karena semua lighting indah tersebut butuh processing power yang besar (X1900XTX win). Sedangkan walaupun 7900GTX mampu menyemburkan pixel lebih banyak dari X1900XTX, horse power ini jadi sia2, karena data yang harus dioutput itu belum selesai diproses sebagai akibat dari sedikitnya pixel shader 7900GTX. Hal ini yang menjelaskan kenapa di game yang sangat shader intensive, X1900XTX sering kali mengungguli 7900GTX.
Sedangkan Shader itu sendiri adalah potongan kode program dari HLSL (High Level Shader Language). Ada 3 jenis shader:
1. Vertex Shader
Berkaitan dengan vertex (titik) dari suatu objek 3D. Pembuatan, perubahan bentuk objek ditangani disini.
2. Geometry Shader
Hanya ada di DirectX 10. Geometry Shader menjembatani Vertex Shader dengan Pixel Shader.
3. Pixel Shader
Bertanggung jawab pada masalah lighting, semua visual efek ada disini. Warna akhir dari suatu pixel ditentukan disini.
Alur program shader dalam VGA card berjalan seperti urutan di atas:
Vertex Shader -> Geometry Shader -> Pixel Shader -> Frame Buffer
-------------------------------------
USA (Unified Shader Architecture)
Kasus pada card DirectX 8 & 9, sering terjadi kejadian dimana suatu scene 3D butuh jauh lebih banyak processing power dari pixel shader dibanding vertex shader. Kejadian yang sebaliknya juga bisa terjadi.
Contoh lebih banyak dibutuhkan processing pixel shader dibanding vertex shader, misalnya pada saat menampilkan laut yang luas dengan lighting HDR beserta ombaknya. Air hanya memiliki sedikit geomtri, namun efek refleksi & refraksi dari air + efek lighting HDR merupakan efek pencahayaan yang harus ditangani pixel shader. Disini pixel shader suatu VGA terload sampai Max, sedangkan vertex shadernya tidur2an alias ngangur. Berarti ada unit yang tidak bekerja.
Contoh vertex shader lebih dibutuhkan dari pixel shader terjadi pada saat dalam scene 3D menampilkan banyak objek yang bergerak. Banyak objek jelas berarti banyak vertex, sedangkan lighting bisa dibilang tidak terlalu berat. Disini vertex shader kena load max, pixel shadernya santai.
Kenapa hal di atas terjadi? Karena kode shader untuk pixel shader tidak bisa berjalan di vertex shader, begitu juga sebaliknya, itu sebabnya pixel shader tidak dapat membantu pada saat vertex shader kewalahan.
Developer VGA dan game tahu bahwa processing untuk lighting jauh lebih berat dibandingkan processing untuk objek, karena itu semua vga dipersenjatai dengan pixel shader yang jauh lebih banyak dibanding vertex shader. Misal X1800XT membawa 16 Pixel Shader, 8 Vertex Shader. 7900GTX punya 24 Pixel Shader, 8 Vertex Shader.
Nah disinilah USA ambil peran, di DirectX 10 Hardware Shader (Stream Processor) untuk menangani pixel atau vertex dibuat unified, maksudnya dari 128 (misal 8800GTX) stream processor itu, sebagian bisa menangani pixel dan sebagian menangani vertex. Kombinasi ini bisa berapa saja, jadi 80 Pixel, 48 Vertex atau 100 Pixel, 28 Vertex atau 20 Pixel, 108 Vertex bisa terjadi. Load distribution ini terjadi secara real time, sesuai dengan kebijakan driver VGA untuk mengalokasikan processing unit yang ada.
Dari sini terlihat tidak ada lagi kasus ada unit yang menganggur, karena 1 Stream processor bisa berubah - ubah fungsi dari pixel shader, vertex shader, geometry shader sesuai dengan kebutuhan pada saat processing.
semoga tercerahkan....
0 komentar:
Posting Komentar