Tutorial

▷ Directx 12 vs vulkan: pertarungan untuk mesin grafis terbaik?

Daftar Isi:

Anonim

Saat ini untuk dunia PC ada dua API grafis kelas satu yang mengelola pasar dengan otoritas. Untuk alasan ini kami membawa Anda perbandingan DirectX 12 Vs Vulkan.

Keduanya memiliki sejarah panjang di belakang mereka dan segerombolan pembela dan pencela. Hari ini kita akan melihat perbedaan, kunci dari masing-masing dan kami akan mencoba untuk memberikan sedikit cahaya pada mereka.

Indeks isi

API grafis tingkat rendah dan "Biaya overhead driver"

API adalah singkatan dari "application programming interface" dan merupakan seperangkat subrutin yang dapat digunakan oleh pengembang yang juga mencakup protokol komunikasi dan utilitas yang memfasilitasi pengembangan perangkat lunak. Kami dapat menemukan mereka untuk hampir semua hal dan merupakan hal biasa bagi setiap penyedia layanan untuk memiliki jenis bantuan ini untuk mengimplementasikan sistem mereka dengan cara yang sederhana dan dapat diakses.

API tingkat rendah mengambil keuntungan lebih baik dari sumber daya GPU, mengurangi CPU, tetapi juga dapat mengambil keuntungan lebih baik dari prosesor multi-core yang kita miliki saat ini.

DirectX 12 dan Vulkan 1.1 keduanya berorientasi pada pengembangan game dan aplikasi yang membutuhkan bantuan mesin grafis modern. Pada saat yang sama, mereka adalah API yang didukung oleh driver dari desainer chipset grafis yang paling penting dan karena itu cara yang cepat dan ekonomis untuk mengakses fitur-fitur mereka tanpa harus mengetahui desain mereka pada tingkat yang sangat rendah.

API tingkat rendah, seperti ini, memungkinkan bekerja dengan perangkat keras dengan lapisan interpretasi sangat ringan, yang memungkinkan pengembang untuk mengambil keuntungan lebih baik dari perangkat keras, mencapai hasil yang lebih baik dalam hal kinerja dan efisiensi, juga memungkinkan subsistem lain dibebaskan dari beban tambahan. Di dunia PC, atau ponsel, itu kurang tergantung pada CPU umum sistem.

Dua API yang akan kita bicarakan hari ini dapat dianggap sebagai API tingkat rendah dan kedua perkembangan tersebut menghasilkan ketergantungan yang semakin berkurang pada CPU sistem sambil mencapai hasil yang lebih baik di tingkat kinerja dan akses ke fungsi yang lebih grafis. lanjut Mereka adalah dua API langsung yang menerima pembaruan setiap tahun untuk menyesuaikannya dengan apa yang diharapkan masyarakat umum dan pengembang.

API tingkat rendah memiliki efek langsung pada konsep komputasi lain yang kita kenal sebagai “overhead driver”, yang, singkatnya, sumber daya sekunder yang kita perlukan untuk menjalankan beberapa jenis operasi pada komputer. Dalam hal grafis mengacu pada sumber daya tambahan yang diperlukan kartu grafis untuk melakukan tugasnya dan dalam hal ini pada dasarnya adalah waktu proses CPU sentral. API tingkat rendah yang akan kami jelaskan di sini mengurangi ketergantungan ini dan bahkan ketergantungannya cenderung 0.

Microsoft DirectX

DirectX muncul sebagai suatu keharusan untuk menstandarkan berbagai subsistem multimedia Windows dan merupakan pengganti WinG untuk Windows 3.1. Itu diadopsi di Windows 95 sebagai paket tambahan dan versi keduanya, DirectX 2.0, menjadi komponen mendasar dari Windows 95 OSR2.

Dalam DirectX kami menemukan beberapa API independen seperti Direct3D, yang sebenarnya adalah yang dimaksud, DirectDraw, DirectMusic, DirectPlay dan DirectSound. DirectX adalah cara untuk memberi nama kemajuan umum di semua sub-API ini. Ini adalah API untuk Windows tetapi juga digunakan untuk pengembangan game di konsol Xbox-nya sehingga kami dapat menganggapnya sebagai API Multiplatform tetapi tidak gratis, seperti halnya dengan Vulkan.

DirectX 12, versi terbarunya, telah bersama kami sejak 2014 dan belum berhenti dan beberapa bulan yang lalu menerima perbaikan penting seperti subrutin Direct Ray Tracing (DXR) yang termasuk dalam versi pembaruan 10 Oktober 1809 Windows 10.

API tingkat rendah seperti DirectX 12 memiliki keunggulan mendasar, yaitu pengurangan overhead driver. Programmer sekarang diberdayakan untuk merancang bagaimana GPU akan berperilaku dalam program mereka dan dapat mengelola sumber daya GPU dengan lebih baik, terutama dengan mengambil keuntungan dari proses paralelisasi. Ini termasuk dukungan yang lebih baik untuk banyak GPU dalam satu sistem dan bahkan jika mereka bukan dari pabrikan yang sama.

Mereka dapat menjalankan berbagai jenis operasi, biasanya "integer" atau "floating point" mengambil keuntungan dari kemampuan grafik yang kompatibel dan juga membagi operasi kompleks menjadi yang lebih sederhana dengan memprosesnya secara paralel pada bus-bus yang lebih besar. Contoh yang baik adalah bagaimana AMD atau Nvidia sekarang dapat memproses operasi 16-Bit pada bus 32-Bit mereka, secara substansial meningkatkan efisiensi grafis mereka.

API ini telah membawa efisiensi penggunaan GPU konsol lebih dekat, di mana pengembang mengetahui dengan sempurna perangkat keras yang tersedia, hingga ekosistem heterogen yang membentuk PC dengan berbagai kemungkinan perangkat keras berbeda.

Saat ini DirectX 12 tersedia, secara mengejutkan, untuk Windows 7 dan Windows 10 dan meskipun tidak secara langsung kompatibel dengan Xbox One, kenyataannya adalah bahwa hampir 90% fungsinya digunakan untuk PC, perbedaannya minimal dan yang memungkinkan pengembang adaptasi cepat game PC mereka untuk Xbox One dan sebaliknya.

Vulkan dari Khronos

Vulkan adalah evolusi dari API tingkat rendah OpenGL dan didukung oleh Khronos Corporation. Di dunia PC mereka memiliki peran sekunder atas DirectX 12 tetapi adaptasinya yang berbeda untuk platform yang berbeda, seperti Android, telah membuatnya menjadi tolok ukur dalam grafis untuk mobilitas. Ini juga kompatibel dengan Linux menjadi alternatif permainan di sistem gratis.

Keutamaannya yang luar biasa adalah kapasitas pemrosesan paralelnya yang besar, karena sangat efisien dalam CPU dan GPU modern, mencapai penggunaan yang rendah dari yang sebelumnya dan penggunaan yang besar dari perangkat keras yang terakhir. Ini dirancang khusus untuk mengambil keuntungan dari prosesor multi-core mencapai distribusi beban yang sangat baik dalam jenis prosesor ini, pada kenyataannya, itu jauh lebih efisien untuk lebih banyak core yang dapat kami sediakan.

Sejarah Vulkan berawal dari setahun setelah DirectX 12 dan Khronos, yang merupakan perusahaan nirlaba, mempertahankannya sesering atau lebih sering daripada yang Microsoft lakukan dengan APInya sendiri. Ini didasarkan pada Mantle API yang dikembangkan AMD untuk arsitektur GCN -nya dan itu adalah API tingkat rendah lainnya untuk “overhead driver” yang berkurang. AMD menyumbangkan perkembangannya ke Khronos dan ini adalah dasar dari salah satu API grafis terbaik di pasar.

Selain paralelisasi yang unggul, desain ini juga memungkinkan pra-kompilasi operasi naungan pada GPU untuk dihilangkan, mampu memiliki lebih banyak efek dan di layar dengan kecepatan pemuatan yang lebih tinggi, di samping penyesuaian yang lebih terperinci tentang bagaimana perangkat keras memproses operasi atau bagaimana kita mengakses frame buffer tersedia. Sudah pasti API untuk PC yang paling dekat dengan perangkat keras itu sendiri, bahkan lebih baik daripada DirectX 12.

Vulkan juga memperkenalkan peningkatan API tingkat rendah di Android dan platform lainnya.

Versi terbarunya, Vulkan 1.1, diperkenalkan pada akhir 2018 menambahkan peningkatan penting seperti dukungan HLSL, yang merupakan alternatif DirectX 12 untuk mengelola operasi shader tanpa kompilasi, kompatibilitas yang lebih baik dengan DirectX 12 (untuk banyak subrutinnya terlepas dari grafik), dukungan eksplisit untuk sistem Multi-GPU terlepas dari pabrikan dan, tentu saja, dukungan untuk RayTracing.

Kekuatan dan kelemahan DirectX 12 vs Vulkan

Selain fitur-fitur umum yang telah dijelaskan, seperti penggunaan perangkat keras yang lebih baik, kontrol yang lebih baik dan penggunaan paralelisasi GPU dan CPU yang lebih baik, kedua API ini juga menambahkan kemungkinan melakukan operasi perhitungan umum dengan chip grafis dengan yang kompatibel. Hal ini memungkinkan mesin grafis yang kompatibel, sudah beberapa generasi, untuk dapat melakukan operasi matematika yang kompleks yang dapat dieksploitasi oleh semua jenis program, termasuk yang tanpa komponen grafis.

Dalam permainan mereka juga dapat digunakan untuk operasi sekunder yang semakin penting seperti perhitungan fisika realistis, kecerdasan buatan, efek suara posisi, dll.

Kedua API memiliki dukungan besar oleh grafis yang hebat, AMD dan Nvidia berusaha keras untuk menawarkan API ini driver yang tepat untuk mencapai keduanya, menawarkan penggunanya peningkatan terbaru dan memperkuat kinerja dan stabilitas game yang menggunakan salah satunya. atau API lain.

"Biaya overhead pengemudi" keduanya sangat rendah, pada kenyataannya, seperti yang akan Anda lihat dalam pengujian kami hampir tidak ada perbedaan di antara mereka, yang juga merupakan tanda optimalisasi penting driver kedua produsen.

Kami telah membatasi framerate hingga 120FPS untuk demo Driver Overhead. Dalam Dota 2, konsumsi CPU berkurang secara substansial dengan FPS yang sama.

Satu-satunya perbedaan yang lebih jelas adalah bahwa Vulkan memiliki sedikit ketergantungan pada CPU, dengan konsumsi rata-rata yang lebih rendah dan juga lebih terbuka untuk platform yang berbeda, termasuk Windows dan Linux dan homogenisasinya dengan OpenGL ES, yang merupakan versi mobile-nya, itu sedang dalam perjalanan lebih jauh menyatukan platform di mana ia bergerak.

DirectX 12 telah mendukung penerimaan besar oleh para pengembang, yang tampaknya menemukan dalam API ini ekosistem yang sempurna untuk mengurangi biaya mereka karena bahkan memiliki integrasi besar dalam kerangka kerja yang sama luasnya dengan.NET Framework di mana ia terintegrasi dengan ribuan keajaiban dengan sedikit kehilangan kinerja.

Perbedaan kinerja dalam game dengan API ganda

Seperti gerakan yang ditunjukkan dengan berjalan, kami telah melakukan beberapa tes kinerja di berbagai permainan dan tolok ukur yang memiliki kemampuan untuk menggunakan kedua API ini untuk eksekusi.

Tes Overhead Driver 3DMark. Menghasilkan jutaan permintaan, lebih banyak lebih baik.

Abu singulitas. Hasil dalam FPS, lebih banyak lebih baik.

Brigade Aneh. Hasil dalam FPS, lebih banyak lebih baik.

Kami merangkum panduan perangkat keras terbaik yang menarik minat Anda:

  • Prosesor terbaik di pasaran Motherboard terbaik di pasaran Memori RAM terbaik di pasaran Kartu grafis terbaik di pasaran SSD terbaik di pasaran Casing atau casing PC yang lebih baik Catu daya yang lebih baik Catu daya lebih baik Heatsink dan cairan pendingin

Seperti yang Anda lihat, hasilnya merata dan kami melihat perbedaan antara program untuk dan yang satu dan yang lainnya. Ini membuat kita dengan pertanyaan mana yang lebih baik dan jawabannya jelas, itu tergantung pada program dan bagaimana pengembangnya tahu atau ingin mengambil manfaat dari manfaatnya. Yang tersisa adalah berpikir bahwa di setiap game, pengembang akan menggunakan API yang tepat yang memanfaatkan keunggulan grafis kami, meskipun jelas bahwa kedua opsi tersebut tampaknya lebih dari kompeten. Apa pendapat Anda tentang artikel kami tentang Directx 12 vs Vulkan ? Kami ingin tahu pendapat Anda!

Tutorial

Pilihan Editor

Back to top button