Graphics API, seperti OpenGL dan DirectX, bertindak sebagai jembatan antara perangkat lunak dan perangkat keras grafis yang digunakan untuk bermain game. API ini menyediakan metode standar untuk menampilkan grafik 2D dan 3D di layar. Mereka telah menjadi dasar untuk pengembangan game selama beberapa dekade terakhir.
Mesin seperti Unity menawarkan pilihan antara API grafis yang mereka gunakan, tetapi bagaimana Anda bisa memilih opsi yang tepat untuk gim Anda? Bergabunglah dengan kami saat kami membandingkan OpenGL dengan DirectX untuk memberi Anda gambaran tentang alat mana yang terbaik untuk Anda.
DirectX vs. OpenGL: Ikhtisar Fitur Utama
Pada intinya, baik DirectX dan OpenGL berbagi pipa grafis yang sama, dan mereka memilikinya selama bertahun-tahun. Kedua API menggunakan titik yang disebut simpul untuk membangun primitif grafik yang kompleks. Setiap simpul menyimpan koordinatnya sendiri dan informasi penting lainnya. Tetapi cara setiap perpustakaan menggunakan simpul berbeda.
Mereka mungkin melakukan fungsi yang serupa, tetapi Anda akan melihat perbedaan antara OpenGL dan DirectX jika Anda bekerja dengan mereka.
DirectX vs. OpenGL: Lingkup API
Sebelum melangkah lebih jauh, penting untuk dicatat bahwa, meskipun keduanya adalah API grafis, OpenGL dan DirectX memiliki cakupan yang berbeda. OpenGL adalah API grafis murni, dan ini berarti ia tidak menangani apa pun selain grafis 2D dan 3D. DirectX, di sisi lain, adalah kumpulan grafik, audio, jaringan, dan API perangkat keras lainnya yang semuanya bekerja bersama.
Dalam beberapa kasus, OpenGL akan menggunakan DirectX untuk melakukan fungsi yang tidak dapat dilakukan sendiri. Bagian selanjutnya dari artikel ini akan mengabaikan perbedaan antara kedua API ini, dengan fokus pada elemen grafis dari setiap alat.
OpenGL vs. DirectX: Platform
OpenGL adalah API gratis yang dikelola oleh perusahaan nirlaba bernama Khronos Group, sedangkan DirectX dibuat oleh Microsoft. DirectX bekerja pada Windows dan Xbox terutama, dengan platform lain, seperti Linux, perlahan-lahan mendapatkan dukungan. OpenGL bersifat lintas platform, sehingga dapat digunakan untuk pengembangan game di berbagai sistem operasi dan konsol game.
DirectX vs. OpenGL: Sumber Daya Perangkat Keras
DirectX menyerahkan manajemen perangkat keras kepada pengembang, memberi Anda kemampuan untuk mengalokasikan sumber daya secara efisien, saat Anda membutuhkannya. OpenGL menangani manajemen perangkat keras, tetapi ini dapat memberikan manfaat tersendiri, karena Anda tidak perlu khawatir tentang pengelolaan sumber daya sendiri.
DirectX vs. OpenGL: Dokumentasi
Akses ke dokumentasi mendetail dapat membuat pengembangan game menjadi lebih mudah saat bekerja dengan API. DirectX dan OpenGL menawarkan dokumentasi yang diperbarui secara berkala dan komunitas pengembang yang membantu. Kedua API ini menerima pembaruan tahunan yang besar untuk memastikan bahwa mereka menawarkan fitur terbaik yang tersedia.
Menggunakan OpenGL vs. DirectX untuk Pengembangan Game
Pengembang telah membuat banyak game yang indah dan dioptimalkan dengan baik di pasar modern menggunakan OpenGL dan DirectX. Ada beberapa hal yang harus Anda pertimbangkan saat memilih API grafis 2D/3D. Beberapa pengembang hanya akan mengandalkan alat yang paling nyaman bagi mereka.
OpenGL atau DirectX: Platform
Kami sudah menyentuh platform, tetapi ini merupakan pertimbangan penting bagi pengembang. Jika Anda ingin membuat game untuk Nintendo Switch, Playstation 4, atau Linux, Anda harus bekerja dengan OpenGL atau API lain yang mendukungnya. DirectX dibuat untuk Windows dan Xbox dan memiliki kompatibilitas terbatas dengan sistem lain.
OpenGL atau DirectX: Kompatibilitas Mesin
Sebagian besar pengembang game menggunakan mesin seperti Unity dan Unreal untuk membuat game mereka, saat ini. Kedua engine ini mendukung OpenGL dan DirectX, seperti halnya engine pengembangan game lintas platform lainnya.
OpenGL atau DirectX: Kemudahan Penggunaan
Beberapa orang akan berpendapat bahwa OpenGL lebih mudah digunakan daripada DirectX. Di samping sumber daya perangkat keras, OpenGL hanya menangani grafik, membuatnya lebih sederhana secara alami. Fakta bahwa ini berfungsi di lebih banyak platform juga memudahkan untuk merilis game dengan persyaratan ini.
Kemudahan penggunaan Graphics API tidak sepenting dulu untuk pengembang game. Dengan mesin seperti Unity berinteraksi dengan API grafis di belakang layar, hanya perlu satu klik tombol untuk menukar API yang Anda gunakan. Kecuali Anda membuat game dari awal, kecil kemungkinan Anda akan melihat perbedaan dalam kemudahan penggunaan setiap API.
OpenGL atau DirectX: Fitur Grafik
Kecuali jika Anda adalah orang pinggiran, kecil kemungkinan Anda akan melihat perbedaan besar dalam fitur yang Anda miliki di antara ini Lebah. Keduanya mendukung kemampuan kartu grafis Anda, dan ini hanya akan berubah jika GPU melihat perubahan dramatis di masa depan.
OpenGL atau DirectX: Performa Game
Ada banyak perdebatan antara pengembang mengenai kinerja API ini. Sulit untuk membayangkan bahwa OpenGL atau DirectX memiliki perbedaan kinerja yang signifikan, meskipun klaim bahwa OpenGL lebih halus dan lebih efisien adalah umum on line.
Satu-satunya cara untuk mengetahui API mana yang berkinerja terbaik adalah melalui pengujian. Berkat kompatibilitas Unity dengan kedua API, kami dapat membuat proyek dan menguji contoh game dengan kedua API untuk buat tolok ukur kinerja.
Pengujian ini telah dilakukan dengan grafik 2D dan 3D untuk memastikan bahwa jalur pipa yang berbeda bukanlah faktor yang cukup besar. Setiap tes berjalan selama 120 detik dari gameplay reguler dan frame per detik sedang diukur untuk menentukan kinerja. Semua pengujian telah dilakukan pada PC yang sama.
Tes Kinerja 3D: Microgame Pengangkutan Unity
Unity Carting Microgame adalah template gratis yang berisi semua yang Anda butuhkan untuk membuat game balap sederhana. Itu datang dengan tutorial, tetapi kami lebih tertarik pada permainan itu sendiri. Kami membangun Carting Microgame dengan OpenGL dan DirectX untuk membandingkan kinerjanya dan hasilnya adalah sebagai berikut:
Terendah | Paling tinggi | Rata-rata | |
---|---|---|---|
DirectX | 331 | 848 | 365.05 |
OpenGL | 247 | 819 | 283.7 |
DirectX mengungguli OpenGL dalam benchmark 3D kami, mencapai frame rate yang mengesankan secara keseluruhan. Hasil OpenGL masih lebih dari sekadar dapat dimainkan.
Uji Kinerja 2D: Unity Platformer Microgame
Sama seperti Carting Microgame, Unity Platformer Microgame gratis dan dikemas dengan alat pembelajaran yang hebat. Seperti yang diharapkan, game 2D dalam pengujian kami berkinerja lebih baik daripada game 3D, tetapi Anda dapat menilai sendiri hasilnya.
Terendah | Paling tinggi | Rata-rata | |
---|---|---|---|
DirectX | 599 | 850 | 767.367 |
OpenGL | 302 | 604 | 515.417 |
Seperti yang Anda lihat dari hasil di atas, DirectX mencapai rata-rata frame rate yang jauh lebih tinggi dalam pengujian kami. Meskipun perbedaannya mungkin terlihat dramatis, kedua hasilnya sangat dapat dimainkan.
OpenGL atau DirectX 11: Kesimpulan Kinerja
Sementara banyak orang mengatakan bahwa OpenGL berkinerja lebih baik daripada DirectX, API yang terakhir mencapai hasil yang lebih baik di kedua tolok ukur kami. Ini jauh dari konklusif, dengan banyak faktor yang berperan dalam menentukan kinerja game, terutama karena semakin kompleks.
DirectX atau OpenGL: Mana yang Harus Anda Gunakan untuk Pengembangan Game?
Memilih API grafis yang tepat bergantung pada beberapa faktor. DirectX adalah API grafis yang paling banyak digunakan. Banyak pengembang game membuat game mereka untuk Windows dan Xbox sebelum mem-portingnya ke OpenGL untuk platform lain. Jika Anda menerbitkan game secara eksklusif di luar Windows dan Xbox, Anda mungkin mendapat manfaat dari menggunakan OpenGL sejak awal.
Performa juga merupakan faktor yang perlu dipertimbangkan, meskipun pengujian kami menunjukkan bahwa ini cukup diabaikan saat menggunakan peralatan mesin seperti Unity. Intinya, perbedaan antara kedua API grafis ini hanya penting bagi mereka yang mencari fitur khusus.