Keindahan rendering frame game: Tinjauan singkat alat + Video yang menarik

Rasa ingin tahu dari pikiran dan keinginan untuk mengetahui bagaimana segala sesuatu bekerja dari dalam membedakan techie dari massa pengguna. Dalam posting singkat ini, saya ingin berbagi dengan video kecil komunitas yang penuh rasa ingin tahu dan resep pendek untuk menggunakan perangkat lunak profil untuk aplikasi 3D.



Penafian
3D , , . . 3D . . ( ) — . .
, . .
- , «» «»

Tonton videonya, lalu bacalah.
Jadi, jika kita ingin mengevaluasi bagaimana persiapan frame game berlangsung. Apa geometri, tekstur, berapa banyak panggilan untuk menggambar, di mana penarikan kinerja terjadi? Anda dapat menggunakan perangkat lunak khusus untuk men-debug proses ini.

Saya akan daftar yang utama:

  1. Renderderoc
  2. Nvidia nsight
  3. GPUperfStudio

RenderDoc adalah debugger grafis dari Crytek.



(Dalam tangkapan layar, patung Lara Croft dari bagian terakhir: Rise of the Tomb Rider)

Dukungan DirectX 11/12, Vulkan, OpenGL 3.2+



Ini adalah proyek sumber terbuka . Didukung secara teratur oleh komitmen baru.

Tautan ke repositori dan dokumentasi

Antarmuka cukup fleksibel dan sederhana secara intuitif. Dalam 5 menit tidak sulit bagi jiwa yang ingin tahu untuk mengetahui cara meluncurkan game atau aplikasi dan menjalani seluruh proses rendering. Aplikasi pihak ketiga untuk memulai tidak perlu.

Tentukan path untuk exe, parameter tambahan dan jalankan. Kemudian dalam aplikasi, pada waktu yang tepat, tekan F12 atau PrintScrn, RenderDoc menyimpan bingkai yang dapat disimpan, dan kembali ke sana bahkan tanpa memulai permainan atau membaginya dengan mitra.

Misalnya, Anda dapat mengekspor geometri dan tekstur.



Nvidia Nsight adalah alat debugging dari NVIDIA.


Alat debugger yang hebat dan sangat kuat. Ini bukan satu-satunya alat di gudang senjata Nvidia. Ada alat untuk aplikasi seluler, Linux, perangkat Mac, dll. Dalam semua keragaman mereka, saya tidak mengerti. Nsight seharusnya digunakan bersama dengan Visual Studio, tetapi untuk memulai cepat, Anda dapat mencoba tanpa menginstal Microsoft IDE.

Kami mendaftar secara gratis di Program Pengembang Nvidia dan dengan tenang mengunduh alat yang diperlukan. Situs web Nvidia memiliki dokumentasi dan video penjelasan tentang cara menggunakan alat ini.

Untuk memulai, cukup seret pintasan aplikasi ke pintasan Nvidia Nsight. Dan, jika semuanya benar, Anda akan melihat HUD'y dan grafik dari Nsight.

Bingkai dibuat sederhana: tekan CTRL + Z, lalu tekan bilah spasi atau tombol dengan ikon kaca pembesar. Proses berhenti dan jendela Putar Ulang Nsight terbuka, di bagian bawahnya terdapat garis waktu dengan bilah geser. Nsight memiliki tip dan antarmuka yang cukup sederhana. Dimungkinkan juga untuk menyimpan seluruh rendering frame ke file, tetapi untuk membukanya Anda masih harus menginstal Visual Studio.



Untuk masuk lebih jauh ke dalam proses, semua manipulasi harus dilakukan dari VS. Baik memulai aplikasi 3D dari VS, atau memulai frame yang disimpan (fungsi menyimpan akses dan tanpa VS diinstal)

Buat proyek kosong:



Temukan tombol di mana kita memasuki jalur ke aplikasi dan beberapa pengaturan yang diperlukan.



Dan setelah itu kita mulai debugging. Aplikasi terbuka. Jika loader digunakan, maka Anda mungkin harus memilih proses yang diinginkan di jendela.



Prosesnya sama seperti yang saya jelaskan di atas. Tapi sekarang VS membuka kemampuan debugging tambahan, yang tidak tersedia saat debugging tanpa VS. Baik geometri dan tekstur, dan shader. Anda dapat menganalisis proses dari berbagai sudut.



Nsight juga memiliki fitur pembunuh yang berguna: Anda dapat menjalankan aplikasi dengan server pada mesin khusus, dan menyambungkannya dari VS. Jadi semua orang tidak perlu menggunakan lingkungan yang sama dengan aplikasi, yang menyederhanakan kehidupan tim pengembang atau pengembangan.

Untuk bekerja dengan frame yang disimpan, cukup buka proyek tersimpan untuk versi Visual Studio Anda, kompilasi rilis rilis dan aktifkan Nsight debugging. Selanjutnya, seperti dijelaskan di atas.

Ngomong-ngomong. Tidak mengerti apakah mungkin untuk melihat Nsight semua geometri proses, seperti yang dilakukan di RenderDoc? Sangat nyaman saat menampilkan panggilan draw tertentu dengan kisi-kisi dari panggilan sebelumnya.

Plus, saya tidak bisa memeriksa pengoperasian perangkat lunak pada kartu video dari AMD, karena kurangnya yang terakhir. Tetapi tampaknya Nvidia tidak memiliki persyaratan ketat dalam hal ini.

GPU PerfStudio - pengembangan oleh Advanced Micro Devices (AMD)


Alat yang luar biasa dan kuat. Ini juga memiliki kemampuan untuk melakukan debug jarak jauh.

Unduh dan tautan dokumentasi.



Mudah digunakan. Ada 2 versi server (64 dan 32 bit) untuk memulai, cukup seret aplikasi yang diperlukan ke server. Apa yang dia sendiri akan tanyakan ketika Anda mencoba menjalankannya.



Selanjutnya, hidupkan klien. Kami terhubung ke server, berhenti pada waktu yang tepat dan sekarang kami dapat melakukan semua yang kami lakukan sebelumnya di RenderDoc atau Nvidia Nsight.

Dukungan luas untuk berbagai API dan perangkat. Meskipun asalnya, ia mendukung kartu grafis Nvidia saya. Jadi tidak ada konspirasi dan tongkat di roda ...

UPD Komentar menyarankan alat open source lain.
celah
Multiplatform dan mendukung berbagai API. Saya belum merasakannya, tetapi menurut lieff alat yang berguna dan sederhana.



Alat mana yang terbaik dari mereka yang tidak bisa saya katakan. Masing-masing memiliki beberapa fitur mini sendiri, tabel, grafik, yang dapat berisi informasi yang sangat diperlukan dalam tugas tertentu. Di sisi pengguna, orang yang ingin tahu, saya entah bagaimana lebih "terjadi" dengan RenderDoc. Namun terkadang tidak semua proses dapat dimulai di dalamnya.

Dan omong-omong, tentang memulai proses. Semuanya sangat mudah dan sederhana ketika Anda memiliki aplikasi A dan alat B. Kemudian alat B meluncurkan aplikasi A dan semua orang senang. Tetapi jika ada perantara dalam skema ini: peluncur, perangkat lunak anti-cheat dan pembungkus lainnya, maka Anda harus berdansa sedikit.

Pertimbangkan contoh peluncuran game dari Steam atau Origin dan layanan lainnya.

Dalam hal ini, Anda harus mematuhi prosedur tertentu dalam perangkat apa pun:

  1. Nonaktifkan semua jenis fitur overlay dalam game di Steam, Origin, Uplay, dll.
  2. Sebelum memulai aplikasi ini harus dimatikan.
  3. Anda tidak perlu menjalankan file game, tetapi pembungkusnya (Steam, Origin, Uplay, dll.)
  4. Setelah itu, Anda dapat memulai gim langsung dari pembungkus "running"
  5. Seringkali, opsi peluncuran tambahan diperlukan. Misalnya, untuk Watch Dogs 2, parameter -eac_launcher digunakan untuk menonaktifkan anti-cheat. Di sini Anda perlu membaca readme, mengkonfigurasi petunjuk. Plus, opsi tambahan membantu mempercepat proses peluncuran aplikasi. Contoh steam: -applaunch 99999 (id aplikasi)
  6. Selalu periksa versi API dalam aplikasi. Mungkin DX12 diaktifkan di pengaturan, tetapi tidak didukung oleh Anda, dll. Lakukan preset, tutup game, dan baru mulai debugging.
  7. Beberapa aplikasi tidak stabil pada sistem multigrafik (misalnya: kartu video + diskrit tertanam). Nonaktifkan yang tidak perlu di manajer perangkat. Selain itu, dalam hal ini, lebih baik untuk debut suntikan frame, dan bukan game yang sedang berjalan. Karena siksaan restart jika terjadi kehancuran.



Video yang dijanjikan untuk camilan. Saya merekam video time-lapse dari proses rendering bingkai game. Saya menemukan itu sangat menghibur, informatif dan indah. Tidak semua acara ditampilkan di video, seperti dalam hal ini akan terlalu berkedut.
Pubg

Medan Perang 1


GTA V


Rise of Tomb Rider


Witcher 3


Awasi anjing 2


Kejatuhan 4


Tentang menarik panggilan


Dan itu saja. Saya harap materi ini akan mengesankan, memberi tahu Anda, membantu, atau dengan cara lain memengaruhi pembaca. Kirim hasil edit, kiat, terima kasih dan tendangan ke PM atau komentar.

Dan terakhir, saya ingin mempublikasikan saluran Youtube saya sedikit: www.youtube.com/KakoytoAitishnik
Ini, tentu saja, adalah ide yang buruk untuk gictimes, tetapi semua ini gizmos sosial: berlangganan, suka dan komentar, meningkatkan motivasi untuk rilis konten baru dan lebih baik.

Source: https://habr.com/ru/post/id400963/


All Articles