Mari kita hadapi: DirectX 11 dan OpenGL semakin lama. DirectX 11 diperkenalkan dengan Windows 7 pada tahun 2009, dan OpenGL 4.0 diikuti setahun kemudian. Pada tahun-tahun perisian teknologi ini kini kuno, dan tanaman perkakasan semasa yang mereka jalankan tidak ada di papan lukisan apabila API grafik ini dikeluarkan. Memandangkan putaran ini jelas, apakah yang dilakukan oleh industri untuk mendapatkan masa? Nah, kita akan melihat pada masa akan datang dan lihat, tetapi untuk mula mari kita mulakan terlebih dahulu apa API dan fungsi yang berfungsi untuk permainan.
Apakah API?
Antara muka API atau aplikasi pengaturcaraan adalah satu set protokol dan alat yang digunakan untuk membina perisian. API Grafik adalah benar-benar hanya API khusus dibina untuk menjadikan grafik 3D menjana lebih mudah. API Grafik membuat imej 3D bangunan lebih mudah, tetapi mereka juga membenarkan anda memberitahu API untuk melakukan sesuatu (cth. Melukis segi empat tepat) dan kemudian biarkan API kemudian berkomunikasi dengan perkakasan bagaimana untuk menyelesaikan tugas ini. Inilah sebab utama mengapa banyak GPU yang berbeza dengan perkakasan khusus semuanya boleh menjalankan permainan yang sama. Tanpa kewujudan API, permainan yang sama perlu ditulis dengan cara yang berbeza untuk berkomunikasi dengan setiap set perkakasan tertentu. Ini akan mengehadkan perkilangan perkakasan dan akan meningkatkan kos permainan bangunan, kos yang akhirnya akan disalurkan kepada pengguna akhir.
Untuk membuat penjelasan di atas sedikit lebih mudah difahami saya akan menggunakan analogi: Fikirkan API sebagai pengurus tapak pembinaan. Tugasnya adalah untuk mengambil idea arkitek dan memecahnya, menjadualkan apa yang awak perlu di mana dan kapan, dan pastikan semua orang berada pada halaman yang sama tentang apa yang perlu dilakukan.
Pada masa ini Grafik API Digunakan
Sekarang kita memahami tugas grafik API, mari lihat lebih dekat pada barisan semasa. Pemain utama di pasaran hari ini adalah DirectX Microsoft, yang diperkenalkan sepanjang perjalanannya pada tahun 1995. Ia telah dikemas kini beberapa kali sejak pembebasannya, dan dimasukkan ke dalam sistem operasi Windows Microsoft. DirectX adalah satu grafik API yang cukup banyak setiap permainan yang dikeluarkan untuk PC akan menyokong. Malah, ia begitu biasa bahawa ia benar-benar menjadi standard untuk perjudian PC hari ini. DirectX adalah eksklusif untuk produk Windows dan Microsoft yang malangnya menjadikannya sistem yang sangat tertutup. Seterusnya dalam talian ialah OpenGL, satu-satunya grafik sumber terbuka utama API. OpenGL dibebaskan pada tahun 1992 dan berbilang platform, bermakna ia berfungsi dengan beberapa sistem operasi termasuk Windows, Linux, dan Mac OS. Akhir sekali, kami mempunyai API grafik terbaru, Mantle. Mantle telah dibangunkan pada tahun 2013 melalui perkongsian antara AMD dan Dice. Mantle boleh didapati di Windows, dan hanya untuk AMD GPU.
Sumber Imej; Imej Kredit: Intel
DirectX 12
DirectX 12 akan dibebaskan dengan Windows 10 pada musim gugur ini dan banyak penambahbaikan baru yang disebut-sebut. Salah satu peningkatan besar adalah sokongan multi-threading yang lebih baik. Lebih banyak kerja itu tersebar ke banyak teras pada CPU yang membolehkan penggunaan CPU yang lebih baik dan lebih efisien. Ramai kali DirectX 11 hanya mempunyai satu teras CPU yang sepenuhnya dimaksimumkan manakala teras lain sedang duduk berhampiran dengan terbiar. DirectX 12 menjanjikan untuk menyebarkan beban kerja ini ke atas teras CPU dengan lebih sama rata memberikan permainan lebih banyak kuasa CPU untuk bekerja dengan. Peningkatan besar berikutnya yang dijanjikan oleh DirectX 12 adalah keupayaan untuk mengendalikan lebih banyak panggilan menarik. Panggilan menarik berlaku bila-bila masa enjin permainan mahu menarik sesuatu di skrin. Keperluan banyak panggilan menarik biasanya dikenakan cukai pada CPU. DirectX 12 sepatutnya dapat mengendalikan sehingga 600, 000 panggilan menarik. Untuk meletakkan perspektif ini, DirectX 9 hanya boleh mengendalikan 6, 000 panggilan menarik atau 1/100 daripada apa yang DirectX 12 dapat.
Selama bertahun-tahun telah menjalankan beberapa GPU dalam mod SLI / Crossfire yang mungkin. Walau bagaimanapun salah satu batasan besar adalah bahawa VRAM dibina ke dalam kad tidak disusun bersama untuk membuat satu kolam yang besar dan berterusan. Sebagai contoh, jika anda mempunyai dua GPU masing-masing dengan 2GB VRAM anda masih berkesan hanya mempunyai 2GB VRAM kerana setiap kad perlu mempunyai maklumat yang sama yang disimpan di dalamnya. DirectX 12 berharap dapat menyelesaikan masalah ini dengan menggunakan AFR atau rendering penggantian alternatif. Daripada setiap bahagian GPU yang memaparkan setiap bingkai, GPU akan menjadikannya satu bingkai keseluruhan. Ini akan membolehkan VRAM pada setiap kad digunakan secara bebas, dan semoga membolehkan kad dengan jumlah VRAM yang lebih kecil dapat digunakan untuk permainan untuk sementara waktu yang lebih baik. Terdapat sepatutnya banyak ciri baru yang lain termasuk dalam DirectX 12 untuk mendorong grafik permainan lebih jauh dari sebelumnya. Walau bagaimanapun, Microsoft masih menjadi sangat teruk tentang ciri-ciri baru ini. Kami sememangnya akan mengetahui lebih lanjut mengenai mereka sebaik sahaja pelepasan API semakin dekat.
Rajah 3: Overhead API DirectX 12 dikurangkan apabila menggunakan CPU berbilang teras.Sumber Imej; Kredit Imej: nVidia GeForce
Vulkan
Tidak diketahui banyak tentang Vulkan kerana terdapat DirectX 12, seperti yang diumumkan pada GDC 2015. Apa yang kita tahu ialah pembuat OpenGL, Khronos Group, menjatuhkan nama glNext memihak kepada Vulkan. Vulkan seolah-olah berasal dari Mantle, yang saya nyatakan sebelum ini dalam artikel. Tambahan pula, ia kelihatan seperti AMD membawa bahagian terbaik Mantle ke meja untuk Vulkan dalam perkongsian dengan Khronos Group. Vulkan sepatutnya mempunyai banyak kelebihan yang sama dari DirectX 12, tetapi ia tidak terikat kepada satu platform seperti Windows. Sebaliknya ia boleh didapati di banyak platform yang berbeza, termasuk Linux dan juga peranti mudah alih. Pemacu Vulkan untuk kedua-dua Windows dan Linux akan menjadi sumber terbuka sepenuhnya tidak seperti DirectX. Vulkan akan meningkatkan multi-threading, dan oleh itu menggunakan lebih banyak kuasa CPU yang tersedia hari ini dengan menyebarkan beban kerja di seluruh teras CPU. Seperti yang dijelaskan sebelum ini, mengurangkan beban pada CPU akan membolehkan GPU tidak menjadi hambatan semudah sekarang. Ini sepatutnya memberi rangsangan framerat yang cukup besar semasa permainan. Sumber 2, yang baru-baru ini diumumkan oleh Valve, akan menjadi enjin permainan baru yang pertama untuk menyokong sepenuhnya Vulkan, walaupun saya pasti banyak lagi akan diumumkan dalam masa terdekat. Dota 2, permainan yang dikenali sebagai CPU yang intensif, menunjukkan berlari di Sumber 2 dengan API Vulkan baru menggunakan grafik bersepadu Intel pada CPU. Ini adalah sesuatu yang pasti tidak diingini di bawah DirectX 11, tetapi dengan Vulkan, permainan itu seolah-olah mengekalkan kadar bingkai yang munasabah sepanjang. Dan Baker, yang merupakan pemaju untuk permainan Oxide, bahkan pergi sejauh mengatakan bahawa "sehingga pengeluar GPU bertindak bersama dan menjadikan GPU sepuluh kali lebih cepat daripada yang kita ada sekarang, kita tidak boleh max keluar CPU". Ini adalah berita baik untuk orang yang menjalankan CPU yang lebih perlahan atau yang mempunyai banyak tenaga kuda GPU pada masa ini kerana ia bermakna prestasi yang lebih baik dapat dicapai pada set perkakasan yang sama.
Sumber Imej; Kredit Imej: Khronos
Apa artinya untuk masa depan permainan?
Nah, untuk jangka masa yang panjang, kini kuasa GPU semakin meningkat pada kadar yang lebih cepat daripada kuasa CPU. Lima tahun yang lalu Intel juga menyatakan bahawa beberapa GPU adalah 14 kali lebih cepat daripada CPU mereka sendiri. Ujian tersebut dilakukan menggunakan nVidia GTX 280 vs Intel CPU i7 960 - kini dianggap perkakasan yang agak ketinggalan zaman. Jurang antara nVidia GTX Titan X (atau nVidia GTX 980) dan CPU utama arus perdana - CPU Intel i7-4790k - harus lebih besar. Titik yang saya cuba buat ialah kita mula melihat lebih banyak permainan memukul dinding dalam prestasi kerana CPU. Tanya siapa saja yang mempunyai kadar pemulihan yang tinggi memantau betapa kerasnya untuk mengekalkan 100 + fps dengan CPU semasa dalam sesetengah permainan. Terus terang, ia hanya akan menjadi lebih sukar tanpa API baru ini, dan keupayaan mereka untuk menggunakan kuasa CPU dengan lebih cekap. Pengenalan API baru ini boleh bermakna peningkatan besar dalam prestasi untuk kebanyakan orang. Tambahan pula, ia juga membolehkan pemaju untuk membina lebih banyak permainan intensif CPU daripada yang kita ada sekarang. Sebagai contoh, bayangkan permainan seperti Assasins Creed mempunyai beribu-ribu skrin NPC pada satu-satu masa, semua berinteraksi antara satu sama lain dan watak anda semasa anda menjelajah sebuah bandar. Atau permainan seperti Star Citizen, di mana anda memerlukan CPU yang sangat kuat untuk mendapatkan apa-apa jenis bingkai yang stabil dan boleh diterima, mungkin dalam masa terdekat memerlukan CPU purata yang terbaik dan GPU yang kukuh untuk memastikan 60fps pepejal yang bagus.
Pada akhirnya, ini adalah masa yang sangat menarik untuk menjadi peminat permainan video. Apabila API grafik baharu ini dibebaskan, kita mungkin hanya melihat lompatan terbesar dalam teknologi permainan dalam masa yang lama. Mari kita berharap agar API ini dapat hidup dengan gembar-gembur yang telah dibina untuk diri mereka sendiri.