Kamis, 07 April 2016

Metode Multi GPU di DirectX 12



Dengan hadirnya sistem operasi Windows 10, maka dimulailah era DirectX 12. Low-level graphics API milik Microsoft ini telah menjadi topik yang paling sering dibahas saat ini, khususnya jika berkaitan dengan implementasi pada game.


Sejumlah game-game terbaru seperti Ashes of the Singularity, Hitman, Deus Ex : Mankind Devided, dan Total War : Warhammer merupakan bagian kecil dari game berbasis DirectX 12 yang telah dan akan muncul di tahun ini.

Peningkatan performa yang ditawarkannya pun cukup menjanjikan pengalaman baru bermain game yang lebih impresif. Perlu diketahui, DirectX 12 memiliki sejumlah keunggulan di mana developer dapat melakukan control lebih baik dari sebelumnya sehingga mampu meningkatkan performa dari sistem saat menjalankan aplikasi. DirectX 12 juga memungkinkan untuk pengembangan teknik rendering baru yang tidak bisa dilakukan pada API sebelumnya.

Terdapat fitur utama yang menjadi keunggulan DirectX 12, diantaranya adalah Draw Calls yang tinggi, asynchronous compute/shading, dan explicit multi-GPU yang menjadi salah satu fitur yang menarik perhatian kami. Dengan fitur ini, user kini bisa meningkatkan performa sistem dengan menambahkan GPU lain ke dalam sistem. Menariknya, Explicit Multi-GPU ini memungkinkan pengguna untuk memasangkan video card AMD maupun NVIDIA dalam satu sistem yang sama.

Sebelumnya pada DirectX 11, fungsi multi-GPU sangatlah terbatas untuk bisa dilakukan. Hal tersebut dikarenakan API yang digunakan hanya memiliki sejumlah tools ataupun fitur untuk dapat mengaktifkan kemampuan multi-GPU ini. Sehingga pada akhirnya, hampir seluruh game menggunakan metode rendering klasik yang dikenal dengan AFR (Alternate Frame Rendering).

Alternate Frame Rendering

Metode ini  membagi beban kerja GPU untuk tiap frame. Contohnya, pada frame (n) akan dikerjakan oleh GPU 1 sementara GPU 2 tengah mengerjakan frame (n+1). Lebih mudahnya, jika menggunakan dual GPU, GPU pertama akan mengolah frame ganjil sedangkan GPU kedua akan mengolah frame genap. Sehingga terdapat lebih banyak waktu untuk masing-masing GPU dalam me-render objek.

Meski menjadi metode yang paling umum digunakan, AFR ternyata memiliki beberapa kelemahan ketika terjadi antrian panjang pada saat buffering. Hal ini akan memberikan dampak yang cukup signfikan pada performa saat bermain game, di mana user akan merasakan ketidaksinkronan antara pergerakan mouse dengan layar monitor. Istilah ini dikenal dengan sebutan “mouse lag.”


Metode AFR pada DirectX 11 juga ternyata memiliki keterbatasan, di mana untuk dapat merasakan performa yang stabil maka dibutuhkan video card yang benar-benar identik. Hal ini dikarenakan pada DirectX 11 tidak menyediakan manfaat yang nyata terhadap asymmetric configuration atau pengguna multi-GPU di mana GPU yang satu memiliki performa lebih tinggi dari GPU yang lainnya.

Untuk video card kelas high end, hal ini mungkin bukan masalah yang terlalu krusial. Sebagai contoh Anda menggunakan 2 buah video card AMD seri R9 390, namun salah satu video card tersebut Anda overclock. Walaupun terdapat konfigurasi yang berbeda antara video card tersebut dalam hal clock speed, tidak menjadi masalah karena keduanya memiliki frame rate yang tinggi. Lain halnya jika Anda menggunakan 2 video card dari kelas low end, semisal Radeon HD 6570, dimana salah satunya memiliki clock speed lebih tinggi atau menyandingkan Radeon HD 6570 dengan Radeon HD 6550D. Maka latency akan sangat terasa karena video card tersebut menghasilkan frame rate yang rendah.

Split Frame Rendering

Ini adalah metode yang digunakan pada DirectX 12. Metode ini membagi kerja antar GPU untuk menangani bagian tertentu dari display. Sebagai contoh, masing-masing GPU membagi kerja kiri dan kanan atau atas dan bawah pada display. Metode ini juga dikenal dengan nama scissor method.

Keunggulan dari metode ini adalah adanya load balancing, dimana antar GPU akan berkoordinasi untuk membagi beban kerja secara tepat sesuai objek yang dirender. Karena metode ini mengurangi jumlah pixel yang diproses oleh masing-masing GPU sehingga bottleneck pada pixel shading berkurang.

Walaupun begitu, tiap GPU tetap harus menyimpan di memory seluruh screen, sehingga bottleneck pada geometry shader dan memory shader tidak berkurang. Aktivitas penyimpanan di memory ini menjadi kelemahan metode ini dan membuat kinerja sistem melambat.

Meski begitu, masalah kapasitas memori ini lambat laun akan bisa teratasi mengingat video card saat ini sudah memiliki kapasitas video memory yang cukup besar dari mulai 4GB hingga 6GB atau lebih.




Berikut ini adalah hasil benchmark untuk melihat kemampuan fitur Explicit Multi adapter di game Ashes of the singularity dengan menggunakan setting 4K, 4xMSAA serta High preset.



Seluruh hasil yang ditampilkan di atas menggunakan sistem dengan konfigurasi sebagai berikut :

Intel Corei7 5960X (3.0GHz)
Motherboard
GIGABYTE X99-UD4
Memory
Silicon Power DDR4-2133
HDD
2TB Seagate Barracuda 7200.11
Display Driver Version
AMD 15.301_160205a-299187E Driver, NVIDIA 361.75 WHQL

CPU Intel Corei7 5960X (3.0GHz)

MOTHERBOARD GIGABYTE GA-X99-UD4






MEMORY Silicon Power DDR4


HDD Seagate Barracuda 


Know us

Our Team

Tags

Video of the Day

Contact us

Nama

Email *

Pesan *