Thursday, 20 November 2014

Apa itu AMD Mantle ?

AMD Mantle
Di ajang AMD GPU14 Tech Day di Hawaii Bulan September 2013 lalu, AMD memperkenalkan sebuah teknologi baru yang bernama Mantle. Dikembangkan bersama beberapa developer game, AMD yakin bahwa Mantle akan membawa revolusi didalam dunia gaming. Mari kita lihat teknologi ini lebih dekat!

Apa itu Mantle

Mantle adalah sebuah Graphics API(Application Programming Interface), serupa dengan DirectX atau OpenGL. Secara sederhana, Graphics API(atau mari kita singkat sebagai API) adalah sebuah software yang mengijinkan para software developer untuk mengakses berbagai fungsi hardware(dalam kasus ini, VGA Card). Peran API dalam game 3D sangat krusial, karena software ini yang akan mengatur bagaimana berbagai komponen sistem grafis akan berinteraksi, misalnya: ‘menjembatani’ komunikasi antara game 3D dengan GPU-nya.

Mengapa Menggunakan Mantle?

Salah satu slide dari presentasi DICE, yang menunjukkan kelebihan Console dari PC
Salah satu slide dari presentasi DICE, yang menunjukkan kelebihan Console dari PC

Model API yang ada sekarang yakni DirectX didesain dengan fokus untuk dapat bekerja dengan hampir semua tipe hardware yang ada di industri, namun sayangnya perkembangan API ini tidak selalu sejalan dengan perkembangan hardware. Bahkan, beberapa game developer menyatakan bahwa lama kelamaan model API ‘tradisional’ ini bisa jadi penghambat performa, misalnya saja memiliki overhead yang besar dan juga kurang memanfaatkan(under-utilizing) hardware yang ada. Limitasi performa dari API lama ini merupakan salah satu penyebab hardware PC tidak bisa dioptimalkan seperti game console(PS/Xbox,etc).
Berbeda dengan DirectX dan OpenGL,  Mantle merupakan low-level API, yang berarti Mantle akan lebih ‘dekat’ dengan sisi hardware, dan membuat hardware tersebut bekerja dengan lebih optimal. Sebagai harga yang harus ‘dibayar’ atas optimalisasinya, saat ini Mantle hanya bisa berjalan pada VGA AMD yang menggunakan arsitektur GCN(Graphics Core Next).
Memang, Mantle tidak akan ‘menyulap’ PC anda menjadi se-efisien game console, namun setidaknya Mantle menawarkan ‘jalan tengah’ bagi para developer game untuk memanfaatkan kemampuan hardware PC hingga maksimal.

Persyaratan Mantle

Untuk menjalankan Mantle, anda akan membutuhkan:
1) GPU AMD berbasis Arsitektur GCN (Mulai dari Radeon Seri HD 7xxx keatas), saat ini hanya versi desktop
2) Driver AMD Catalyst yang memiliki dukungan Mantle, Saat ini adalah Catalyst 14.1 Beta
3) Aplikasi/Game yang mendukung Mantle (saat ini baru Battlefield 4 dan Star Swarm Stress Test)
Sebagai tambahan, Mantle saat ini hanya terikat dengan GPU AMD GCN, namun tidak ada persyaratan CPU. Pengguna CPU Intel maupun AMD bisa saja memanfaatkan Mantle, selama VGA-nya menggunakan AMD GCN-based GPU.

Bagaimana Mantle Bekerja

Secara sederhana, Mantle bekerja dengan cara meminimasi overhead yang terjadi dari penggunaan API lama, lalu memastikan bahwa semua resource sistem(misal: Core CPU dan GPU)dimanfaatkan semaksimal mungkin. Berikut ini gambaran dari penggunaan DirectX dan Mantle pada game battlefield 4, diambil dari salah satu slide presentasi DICE pada AMD Developer Summit:
DirectX:
CPUPerf_DXGL
Mantle:
CPUPerf_Mantle

Pada kedua slide diatas, perbedaan pemanfaatan resource sistem pada kedua API terlihat jelas. Pada API DirectX, tidak semua CPU Core dimanfaatkan untuk menugaskan GPU melakukan proses rendering, lalu adanya proses komunikasi antara Driver dengan API yang memakan tambahan resource. Pada Mantle, semua inti CPU yang ada dipakai untuk menugaskan GPU untuk me-render (ini yang menyebabkan game dengan API Mantle dapat memiliki jumlah draw call yang relatif tinggi tanpa mengorbankan performa, meski dengan CPU kelas rendah), lalu tidak ada resource yang terbuang karena driver thread. Dan yang tidak kalah penting, Game dengan API mantle akan memiliki frame latency yang lebih kecil dari DirectX(hal ini akan dibahas pada bagian pengujian di halaman berikutnya)

Uji Perdana Mantle

Kami sudah pernah memberi preview akan performa game dengan Mantle, dan memang hasilnya cukup mencengangkan. Pada sistem dengan GPU yang cukup kencang namun CPU-nya agak lemah, kami melihat ada peningkatan setidaknya 15%. Mengingat peningkatan performa ini terjadi hanya karena optimalisasi sisi software, hal tersebut tentunya cukup signifikan.
Peningkatan kinerja ini membuat kami cukup penasaran dan lalu melihat lebih dekat akan beban CPU dan GPU saat game dijalankan, menggunakan sebuah APU A8-5600K dan kartu grafis AMD Radeon HD 7970 3GB.
Berikut ini screenshot-nya :*klik untuk memperbesar*
DirectX 11.1
CPULoad_D3D11_2

Mantle
CPULoad_Mantle2
Pada kasus ini, terlihat dengan jelas bahwa game yang menjalankan API Mantle memiliki CPU Usage yang lebih optimal dari DirectX, dan juga framerate yang lebih tinggi, meski berada pada sistem yang sama.

Melihat potensi API Mantle untuk meningkatkan performa sistem, kami memutuskan untuk menguji hal ini lebih dalam lagi!

Ruang Lingkup Hardware: CPU Kelas Mainstream

Konfigurasi sistem yang bisa memanfaatkan mantle sangat luas, meski GPU ‘hanya’ dibatasi oleh GPU AMD dengan arsitektur GCN. Untuk itu, kami memutuskan untuk membatasi pengujian pada CPU Kelas mainstream saja, karena efek dan pengaruh mantle akan lebih terlihat disini. Mengenai GPU, kami juga membatasi pengujian menggunakan GPU Kelas mainstream hingga high-end, karena pada GPU Low-end peningkatan performa yang disebabkan Mantle tidak terlalu signifikan.

No comments:

Post a Comment