Unreal Engine 5 sedang menangani masalah terbesar dalam grafis PC

respek dt gambar unggulan 2
Kisah ini adalah bagian dari seri ReSpec Jacob Roach, yang mencakup dunia game PC dan perangkat keras.

Selama Keadaan alamat tidak nyata di GDC 2023, Epic mengumumkan rangkaian fitur yang luas untuk Unreal Engine 5.2. Tapi mungkin yang paling fitur penting yang hadir di mesin yang diperbarui tidak terkait dengan pencahayaan, detail geometri, atau sinar pelacakan. Ini semua tentang kinerja.

Isi

  • Ingat gagap
  • Semua untuk Fortnite
  • Masih banyak yang harus disyukuri

Video yang Direkomendasikan

Mesin Tidak Nyata permainan, benar atau salah, telah dikaitkan dengan kegagapan dan halangan selama beberapa tahun terakhir. Dengan rilis baru, Epic akhirnya mengatasi masalah ini secara langsung, jadi saya pikir sudah saatnya untuk menjelaskan mengapa game Unreal begitu biasanya menunjukkan kegagapan, apa yang dilakukan Epic untuk menyelesaikan masalah, dan kapan kita dapat berharap untuk melihat upaya tersebut muncul di rilis baru.

Ingat gagap

Frame time di Gotham Knights di PC.
Lonjakan waktu bingkai ini bermanifestasi sebagai kegagapan yang parah di Gotham Knights.

Selama beberapa tahun terakhir, Unreal Engine telah identik dengan kegagapan. Kami telah melihatnya berulang kali, dari Star Wars Jedi: Urutan Kejatuhan ke Menyimpang ke Ksatria Gotham, dan mereka semua memiliki masalah yang sama. Ini gagap kompilasi.

Anda biasanya akan mendengar tentang gagap kompilasi shader, tetapi sumber halangan baru-baru ini bukan karena masing-masing shader. Dalam grafik terbaru API seperti Vulkan dan DirectX 12, paket yang dikenal sebagai Pipeline State Objects (PSO) dimanfaatkan untuk memberi tahu game tentang status GPU Anda. PSO dimaksudkan untuk membuat rendering lebih efisien, memungkinkan lusinan parameter, termasuk shader, untuk dihubungkan antara API dan GPU dalam satu paket.

Namun, mereka memperkenalkan masalah yang berbeda. Karena PSO berisi begitu banyak informasi, menghasilkan yang baru dengan cepat membutuhkan waktu lama (menurut ke dokumentasi Unreal, 100 milidetik atau lebih). Pembuatan PSO runtime ini adalah sumber gagap, di mana mesin harus menghasilkan PSO baru saat Anda benar-benar bermain.

Untuk mengatasi ini, caching PSO tersedia di Unreal Engine. Ini membuat cache dari kemungkinan PSO sehingga yang baru tidak perlu dibuat saat Anda bermain game, tetapi itu tidak sempurna. Seperti yang dijelaskan Epic, precaching PSO dapat "membebani proyek-proyek besar, dan masih menyisakan celah di cache yang menyebabkan halangan." Itu sebabnya, bahkan dalam game yang melakukan prekompilasi shader pada GPU, terkadang Anda masih akan melihat kegagapan (meskipun jumlahnya sedikit dan jauh). di antara).

Epic mencoba mengotomatiskan proses ini dengan mengumpulkan PSO daripada menyerahkannya kepada pengembang untuk memperhitungkan setiap kemungkinan parameter GPU. Ini aktif Peta jalan umum Epic, tetapi hanya versi eksperimental yang tersedia sekarang. Di Unreal Engine 5.2, tujuannya adalah untuk meningkatkan caching PSO untuk lebih mengurangi halangan.

Semua untuk Fortnite

Adegan Fortnite berjalan di Unreal Engine 5.

Ada banyak hal yang menarik di Unreal Engine 5 (saya akan membahasnya nanti), tetapi kami belum memiliki pandangan yang jelas tentang cara kerja mesin tersebut. Sejauh ini, ini hanya digunakan dalam demo teknologi dan Fortnite di antara rilis utama. Bahkan game seperti Redfall yang berjanji untuk memanfaatkan Unreal Engine 5 telah mundur ke Unreal Engine 4.

Agar jelas, alat yang tersedia di Unreal Engine 4 memungkinkan pengembang mengoptimalkan game mereka untuk menghindari kegagapan. Jantung Atomadalah salah satu dari banyak contoh itu. Tetapi keadaan kompleks PSO telah membuat pintu terbuka untuk halangan selama bermain game, dan pengumpulan PSO otomatis Epic hanya diperkenalkan di Unreal Engine 5.1.

Meskipun saya senang melihat Epic menangani masalah ini secara langsung, kami belum melihat cache PSO otomatis dalam proses. Karena rilis yang lebih rumit dan bervariasi keluar dari tim yang lebih kecil, permintaan untuk generasi PSO meningkat, dan kemungkinan halangan dan gagap menjadi lebih nyata.

Ini terutama memprihatinkan untuk game yang menyertakan penelusuran sinar, karena Unreal Engine 5 tidak mendukung caching PSO untuk penelusuran sinar PSO. Sebagai Nvidia menjelaskan, mungkin untuk mendistribusikan pekerjaan pembuatan PSO pelacakan sinar ke beberapa utas, tetapi itu tidak berarti pengembang akan menggunakan proses ini.

Masih banyak yang harus disyukuri

Pencahayaan di Unreal Engine 5.

Kami masih perlu melihat pengumpulan PSO otomatis di Unreal Engine 5, tetapi sebenarnya ada banyak hal yang menarik di mesin. Pertama dan terpenting, Lumen. Pencahayaan sangat penting untuk kesetiaan grafis, dan teknik mahal seperti pencahayaan yang dilacak jalur dipamerkan Portal RTXkeras pada perangkat keras. Lumen membagi perbedaannya.

Lumen memanfaatkan ray tracing, tetapi ini adalah bentuk yang sangat dioptimalkan penelusuran sinar. Alih-alih dengan susah payah menghitung pantulan tak terbatas pada objek mendetail, Lumen menggunakan abstraksi untuk menghitung pencahayaan untuk sebagian besar pemandangan, hanya default ke pencahayaan detail yang paling dekat dengan kamera. Pengoptimalan ini memungkinkan Lumen dijalankan dengan perangkat lunak penelusuran sinar, membuang kebutuhan untuk berdedikasi penelusuran sinar akselerator pada Anda kartu grafik.

Hasilnya sudah jelas. Fortnite berjalan di konsol dengan Lumen pada 60 frame per detik (fps), dan terlihat memukau di PC, bahkan di Fortnite'dunia kartun.

Pameran Nanite di Unreal Engine 5.

Nanite bekerja bersama-sama dengan Lumen. Ini adalah sistem geometri tervirtualisasi yang berisi mesh yang sangat detail dan terkompresi tinggi yang dapat disesuaikan selama bermain game. Ini pada dasarnya adalah Level of Detail (LOD) yang kompleks untuk mesh yang secara otomatis bertukar antara mesh detail dan kabur tergantung di mana kamera melihat.

Lebih penting lagi, Nanite berjalan dengan pass renderingnya sendiri, sehingga tidak terjebak dalam pipeline GPU tradisional. Itu berarti gameplay Anda tetap mulus bahkan saat Nanite mengganti kompleksitas jala. Antara Nanite dan Lumen, Anda memiliki dua fitur yang mengesankan secara visual dan efisien secara komputasi yang meningkatkan standar untuk fidelitas grafis.

Namun, Epic membagikan lebih banyak selama alamat State of Unreal-nya. Substrat adalah sistem material baru di Unreal 5.2 yang mencakup kontrol shader yang lebih detail. Epic mendemonstrasikan ini dengan bahan permukaan opal, menampilkan banyak lapisan dan pembiasan cahaya yang akurat di seluruh lapisannya.

Bahan opal di Unreal Engine 5.

Kerangka Pembuatan Konten Prosedural (PCG) yang baru juga menarik, meskipun tidak secara langsung terkait dengan ketepatan visual. Dengan input terbatas, PCG dapat menghasilkan objek baru untuk memungkinkan pengembang membangun dunia dengan cepat dengan detail tingkat tinggi. Itu mengasyikkan untuk dunia yang lebih luas yang tidak membutuhkan sentuhan artis di setiap sudut.

Masih banyak lagi, mulai dari kemajuan di MetaHuman hingga penelusuran jalur lengkap di dalam Unreal Engine. Ini mengasyikkan, tetapi masalah tersendat yang umumnya terkait dengan rilis Unreal Engine tetap ada. Mudah-mudahan, kemajuan Epic dalam caching PSO dapat mengatasi masalah itu, tetapi kami belum memiliki banyak game Unreal Engine 5 untuk melihat cara kerja sistem tersebut.

Artikel ini adalah bagian dari ReSpec – kolom dua mingguan berkelanjutan yang mencakup diskusi, saran, dan pelaporan mendalam tentang teknologi di balik game PC.

Rekomendasi Editor

  • Saya mencoba menghidupkan kembali warisan Halo yang terlupakan sebagai waralaba Mac — dan itu adalah bencana
  • Dengan kemitraan PC eksklusif, semua orang kalah
  • Port PC terburuk sepanjang masa — dan mengapa begitu buruk
  • Bagaimana AI generatif akan membuat game dengan 'dunia yang lebih luas, lebih besar, dan lebih dalam'
  • Star Wars Jedi: Survivor sedang dibom ulasan di Steam sebagai port PC 'total omong kosong'