Berbagai Opsi Grafis pada Game PC

6822

Dalam artikel ini:

  1. Definisi Lag dan Stutter
  2. Refresh Rate dan Vertical Synchronization
  3. Resolusi Layar
  4. Texture Quality
  5. Anisotropic Filtering
  6. Lighting Quality
  7. Volumetric Lighting dan Volumetric Fog
  8. Reflection Quality, Reflection AA Quality, Mirror Quality
  9. Shadow Quality dan Soft Shadow Quality
  10. Berbagai Ambient Occlusion
  11. Berbagai Anti Aliasing
  12. Ray Tracing dan Deep Learning Super Sampling
  13. Tessellation
  14. NVIDIA Hairworks
  15. Particle Quality
  16. Motion Blur
  17. Bloom
  18. Decal Quality
  19. Depth of Field
  20. NVIDIA Physx
  21. PostFX
  22. Sub Surface Scattering
  23. Graphics API

Sekitar beberapa tahun lalu, saya pernah menulis artikel semacam ini di blog lama saya yang sudah tiada, gpraz.xyz. Kemudian saya berganti hosting/domain dan tidak ada niatan untuk me-recover data, hingga saya menginstal game Red Dead Online awal Desember 2020, setelah game itu menjadi judul independen dengan harga hanya Rp. 70k. Lumayan untuk mengisi waktu luang. Dan grafiknya, ya ampun, bikin saya ngiler, walaupun PC saya (i7-3770K + GTX 1070) berjuang setengah mati mempertahankan 45 fps.

Mumpung saya punya waktu luang, saya tulis kembali artikel itu berdasarkan ingatan dan sekalian revisi.

Oiya, sebagai catatan saya tidak punya gelar sarjana di bidang gaming. Saya cuma suka bermain game. Tapi saya punya latar belakang pendidikan dan karir di bidang IT yang menyebabkan saya mampu membedakan antara PC dan piano. Gambar juga saya ambil seadanya dari mesin pencari. Kalau ada penjelasan yang dirasa keliru, silakan koreksi dan kalau bisa cantumkan sumbernya. Mau nanya-nanya juga boleh.

Tentang Lag / Stutter / Lemot dan istilah semacamnya

Mengapa bisa terjadi? Ini karena kombinasi hardware pada PC, entah itu CPU, RAM, atau kartu grafis dengan GPU tertanam didalamnya tidak mampu menghasilkan frame / gambar yang bisa ditampilkan monitor dalam jangka waktu tertentu. Alasannya beragam, mulai dari kode game yang tidak optimal sampai pengaturan grafis yang tidak sesuai hardware, atau PC/laptop mu bukan untuk gaming tapi masih maksa..

Jika monitor kalian 60 Hz, misalnya, maka PC harus menyuapi minimal 60 gambar per detik ke monitor. Kurang dari itu maka terjadilah lag.

Refresh rate dan Vertical Synchronization (Vsync)

Setiap monitor memiliki refresh rate. Monitor dengan refresh rate 60 Hz menampilkan 60 gambar per detik, maka gambar di layar akan diperbarui setiap 1/60 detik atau sekitar 16 milidetik. Untuk monitor 120 Hz dan 144 Hz, silakan hitung sendiri.

Bisa jadi, GPU mengirimkan terlalu banyak gambar ke monitor (saking canggihnya hardware saudara!) sehingga gambar di monitor yang belum sepenuhnya tampil, terpaksa dibatalkan. Dengan kata lain, frame rate tidak sinkron dengan refresh rate monitor. Hal ini menyebabkan screen tearing, terutama di game dengan genre FPS. Kalian mungkin pernah melihat seperti screenshot di bawah:

Perhatikan pintu dan cermin pada gambar di atas

Solusinya adalah dengan mengaktifkan Vsync, sehingga ada batas tertentu berapa jumlah gambar yang dikirim GPU ke monitor, misal 60 gambar per detik. Kelemahannya, kalau terjadi lag, maka frame rate akan menyesuaikan ke 30 fps, kalau masih belum cukup juga maka 15 fps, dan seterusnya... Jadi Vsync ini malah memperparah tingkat ke-lemot-an jika hardware tidak mampu menyuplai gambar yang cukup.

Resolusi Layar

Resolusi layar maksudnya adalah total jumlah piksel yang ditampilkan monitor, speknya ditulis lebar x tinggi, misalnya 1920 x 1080 p berarti total ada 2.073.600 pixel alias 2,074 megapixel. Pada layar monitor saya terdapat 102 pixel per inci. Smartphone saya juga punya resolusi segitu.. bedanya apa? Ya karena ukuran layar smartphone lebih kecil, maka bedanya adalah densitas nya (pixel density) yaitu 424 pixel per inci.

Gambar di bawah adalah perbandingan resolusi layar, di atas 1080p tidak ditampilkan.

Bagaimana cara memilih resolusi layar? Pilih yang sesuai native resolution monitor mu. Semakin tinggi resolusi layar, gambar yang ditampilkan semakin mendetail.

Texture Quality

Texture quality adalah tingkat resolusi tekstur. Opsinya biasanya dari Low hingga Ultra. Langsung lihat saja bedanya (dari game The Witcher 3, diambil dari GamersNexus):

Pilih yang mana? Semakin tinggi resolusi tekstur, semakin besar memori (dalam hal ini VRAM) yang dibutuhkan. Kalau VRAM diatas 4 GB, pilih saja High atau Ultra sekalian. Biasanya level Low itu menyedihkan.

Anisotropic Filtering (AF)

Anisotropic Filtering (AF) adalah perkembangan dari bilinear filtering dan trilinear filtering yang merupakan fitur grafis game lawas. AF adalah salah satu metode texture filtering, yang bertujuan meningkatkan kualitas permukaan tekstur di kejauhan dan pada sudut kemiringan tertentu. Pada gambar di bawah, terlihat AF lebih tajam dan mendetail dibandingkan trilinear filtering:

Opsinya terbagi ke dalam 2x, 4x, 8x, dan 16x. Umumnya fitur ini tidak terlalu intens dan kita bisa prefer ke 16x. Kalau terpaksa, 4x juga ok; saran saya jangan matikan fitur ini. Lihat juga artikel di game-debate tentang texture filtering.

Lighting Quality dan Shader Quality

Secara umum, fitur ini mengatur kualitas efek pencahayaan pada permukaan obyek dan keseimbangan gelap terang pada gambar.

Shader Quality Low pada game Watch Dogs

Shader Quality High

Karena mengatur pencahayaan obyek, maka fitur ini akan terlihat perbedaan levelnya secara visual, selain Texture Quality. Framerate yang dikorbankan untuk beranjak dari Low ke High dan di atasnya juga besar, tergantung game nya.

Volumetric Lighting dan Volumetric Fog

Volumetric Lighting atau disebut juga god rays adalah teknik pencahayaan tertentu yang kalau di game, kita bisa mengamatinya sebagai pilar cahaya yang menerangi area tertentu, bukan flat lighting biasa.

Sedangkan volumetric fog adalah teknik pencahayaan juga, dimana fitur ini mampu membuat efek kabut dengan ketebalan tertentu dimana cahaya dapat merambat di dalamnya. Bersama volumetric lighting, fitur ini menciptakan nuansa yang bagus sekali:

Efek kabut di San Francisco di game Watch Dogs 2 (sumber)

Reflection Quality, Reflection AA Quality, Mirror Quality dan sejenisnya

Fitur ini mengatur kualitas cerminan atau pantulan pada obyek, misal pada kaca gedung, jalan basah, atau permukaan cermin dan logam. Terkadang fitur anti-aliasing untuk obyek pantulan dipisah (Reflection AA atau Mirror AA).

Shadow Quality dan Soft Shadow Quality

Fitur ini mengatur kualitas bayangan berbagai obyek mulai dari ketajaman-kelembutan bayangan (sharpness-softness) serta detail bayangan. Di dunia nyata, bayangan obyek tidak melulu tajam.

Perbedaan kualitas bayangan antara basic (kiri) dan very high (kanan)

Sedangkan soft shadow berarti bahwa bayangan sebuah obyek akan semakin lembut (soft) semakin jauh dari obyek itu. Untuk urusan ini, NVIDIA mengembangkan fitur soft shadow bernama NVIDIA PCSS (Percentage Closer Soft Shadows) sedangkan AMD membuat AMD CHS (Contact Hardening Shadows).

Pada banyak game, Shadow Quality di atas opsi High umumnya cukup memangkas frame rate.

Far Shadow Quality

Sama seperti shadow quality, bedanya untuk obyek jauh. Ada game yang memisahkan kualitas bayangan menjadi dua agar lebih fleksibel. Bisa juga disebut Distance Shadow Quality.

Long Shadow

Ini mengatur kualitas akurasi posisi dan bentuk bayangan pada saat matahari terbit dan terbenam. Saya menemukan fitur grafis ini pada game GTA V.

Grass Shadow, Grass Quality, Vegetation Quality, Tree Quality dan semacamnya

Ini saya jadikan satu agar lebih mudah dijelaskan. Kualitas grass / rumput biasanya dijadikan satu atau bisa juga dipisah antara teksturnya dan bayangan. Kalau soal bayangan (shadow), seringkali intens dan mengurangi frame rate.

Tree quality mengatur level resolusi tekstur hanya pada pohon. Ini juga memerlukan VRAM seperti halnya Texture Quality yang sudah dijelaskan di atas.

Kalau Vegetation Quality mengatur semuanya terkait vegetasi (tekstur dan bayangan pohon, rumput, semak, dan lain-lain).

Bagaimana pengaturannya? Pada banyak game, grass / vegetation quality ini lumayan menguras frame rate, terutama jika game menerapkan anti aliasing pada setiap helai daun dan rumput. Ambil contoh pada GTA 5, kartu grafis sekelas GTX 1080 pun masih kesulitan merender flat 60 fps untuk grass quality very high / ultra. Level medium / high mungkin sudah cukup menawarkan detail visual yang bagus tanpa terlalu banyak mengorbankan frame rate. Serta optimasi game juga berpengaruh, maka pilih mana yang paling ok untuk game tersebut.

Gambar di bawah membandingkan grass quality pada game GTA V antara High (kiri) dan Ultra (kanan):

Lihat bedanya secara visual? Kalau yang Ultra bisa membuat frame rate jongkok

Ambient Oclussion (AO)

Secara sederhana, AO mengatur efek pencahayaan dan bayangan pada obyek tergantung posisi obyek itu dan obyek di sekitarnya. Langsung lihat contoh gambar:

Tanpa AO (kiri) dan dengan AO (kanan)

Screen Space (SSAO)

SSAO ini menggunakan kedalaman pixel untuk mengubah pencahayaan. Jenis AO ini paling ramah frame rate.

Horizon Based (HBAO, HDAO, dan HBAO+)

HBAO dikembangkan oleh NVIDIA, sedangkan HDAO adalah istilah yang digunakan oleh AMD untuk AO ini. HBAO merender sample area gelap dalam resolusi penuh. Kualitasnya jauh lebih baik dari SSAO. NVIDIA kemudian merombak HBAO menjadi HBAO+ yang tiga kali lebih efisien.

Tanpa AO vs SSAO vs HBAO+

Voxel Accelerated (VXAO)

Teknik AO terbaru yang merender obyek yang bahkan belum tampil pada gambar. AO ini mengubah screen space menjadi voxel dan memprediksi dimana saja bayangan harus di render pada obyek. Dikembangkan oleh NVIDIA untuk DirectX 11. Fitur ini mungkin tergantikan oleh ray tracing. Perlu GPU yang powerful untuk menggunakannya.

Gamedesigning.org membuat artikel yang bagus tentang AO.

Anti Aliasing (AA)

Aliasing disebut juga efek anak tangga (jagged edges). Kalau di game, contoh nya paling mudah diamati pada kabel. Contohnya lihat gambar di bawah antara No AA vs AA:

Semua AA bertujuan mengurangi aliasing dengan kelebihan dan kekurangannya masing-masing. Level AA biasanya terbagi menjadi 2x, 4x, 8x, dst tapi bisa juga Low Medium High dst. Ada banyak tipe AA.

Fast Approximate (FXAA)

FXAA mengurangi aliasing dengan cara menerapkan blur. Ini menyebabkan ketajaman gambar berkurang. Jenis AA yang relatif ringan performa.

Enhanced Subpixel Morphological (SMAA)

SMAA adalah metode yang lebih baru dibandingkan FXAA. Mengurangi aliasing dengan cara menerapkan blur tanpa terlalu mengurangi ketajaman gambar. Lebih intens GPU dan tidak ada efeknya pada tekstur transparan.

FXAA dan SMAA itu post-processing filtering -- aliasing dihilangkan dengan cara menerapkan blur ke tepi obyek.

SSAA dan MSAA

Super Sampling AA dan Multi Sampling AA bekerja dengan metode upscaling. Menggunakan metode ini, gambar di render ke resolusi lebih besar ketimbang resolusi layar, lalu di downscale kembali ke resolusi native. Bedanya dengan SSAA, MSAA menggunakan algoritma deteksi tepi untuk mengetahui obyek apa saja yang mengalami aliasing, lalu hanya obyek tersebut yang di-upscale, bukan keseluruhan gambar.

Dua AA ini menghasilkan kualitas gambar paling baik namun sangat intens dan menekan frame rate. Hanya gunakan ini jika GPU dirasa powerful.

Temporal (TAA)

Metode terbaru yang disebut Temporal AA ini bertujuan menghilangkan temporal aliasing, yang terjadi ketika frame rate terlalu rendah dibandingkan kecepatan transisi obyek-obyek pada gambar, membuat tepi obyek menjadi terlihat. Pada game, temporal aliasing ini bisa terlihat ketika kamera bergerak dengan cepat, seperti pada 3rd person action macam Fallout 4. TAA bekerja dengan cara membandingkan dengan frame sebelumnya (temporal).

Hardwaretimes membuat perbandingan yang bagus sekali soal semua AA di atas.

Pilih AA yang mana? Cek dulu kualitas gambar tanpa AA. Kalau bagus dan masih bisa ditoleransi (efek anak tangga minimal), berarti AA tidak perlu. FXAA adalah yang biasanya paling ringan, gunakan ini dulu. Kemudian jika masih ingin mencoba, upgrade ke AA yang paling optimal di game itu dan cocok dengan hardware mu. Di GTA V ini adalah MSAA, kalau RDR 2 menggunakan TAA. Coba dulu di level 2x atau Low / Medium.

Ray Tracing dan Deep Learning Super Sampling (DLSS)

Untuk dua istilah ini, saya membuat artikel tersendiri di sini. Lumayan tidak up-to-date tapi konsepnya dijelaskan di sana.

Ray tracing On vs Off pada game "Control"

Tessellation

Tessellation adalah fitur grafis yang bertujuan menambah jumlah poligon (segitiga) pada model obyek untuk menambahkan detail. Permukaan obyek akan terlihat lebih mendetail dengan lekukan dan cekungan yang sebelumnya tidak ada pada base modelnya:

Pada game, ini bisa diterapkan di banyak obyek. Misal permukaan aspal, batang pohon, dan lain-lain. Pada gambar di bawah, Off (kiri) vs High (kanan):

Tessellation off (kiri) vs Very High (kanan)

Baca juga penjelasan Gamersnexus soal tessellation.

NVIDIA Hairworks

Dikembangkan NVIDIA, sesuai namanya fitur ini bermaksud untuk menerapkan hukum fisika bak dunia nyata pada rambut, setiap helainya. Entah itu rambut manusia atau rambut / bulu binatang. Hukum fisika disini maksudnya apa yang terjadi bila rambut tertiup angin dll, you get what I mean. Fitur ini bisa saja hanya diterapkan pada karakter utama pada game atau semua obyek.

Fitur ini hanya eye candy alias immersion. Gambar dan video tentang ini bisa dilihat di situs NVIDIA.

Particle Quality

Opsi grafis ini mengatur tingkat detail partikel, misalnya yang dihasilkan ketika ledakan. Ini agak susah untuk diamati perbedaan level opsinya.

Motion Blur

Motion blur biasanya bisa diamati di game balap, untuk mensimulasikan kecepatan tinggi, dimana seluruh atau sebagian obyek di layar di blur untuk sementara. Game dengan genre fighting / action juga umumnya punya opsi ini.

Bloom

Fitur ini menyempurnakan intensitas cahaya terang, misal dari sinar matahari. Tanpa fitur ini, efeknya akan terlihat agak dull. Langsung perhatikan gambar di bawah ini:

Tanpa bloom (kiri) dan dengan bloom (kanan)

Decal Quality

Fitur grafis eye candy yang menerapkan tekstur di atas tekstur. Yang dimaksud di sini contohnya lubang bekas tembakan peluru, lecet, bekas tebasan pisau, dan lain-lain. Decal Quality mengatur seberapa mendetail efek-efek tersebut.

Depth of Field (DoF)

Serupa dengan istilah DOF pada fotografi, intinya obyek yang sedang tidak dalam fokus kamera, misalnya obyek di background, akan di blur agar realistik.

NVIDIA PhysX

PhysX buatan NVIDIA adalah engine yang mensimulasikan hukum fisika pada berbagai obyek di dalam game. Misalnya nih, jika kaca tekena tembakan atau ledakan lalu pecah berhamburan, PhysX merender setiap keping pecahannya secara realistik dan tidak absurd. Game yang pertama menyediakan fitur ini antara lain Batman Arkham City dan Borderlands 2.

Contoh pada gambar di bawah untuk PhysX off vs on:

Post FX

Opsi grafis Post FX umumnya merupakan gabungan dari bloom, motion blur, depth of field, god rays, dan volumetric light. Jadi semuanya langsung dijadikan satu paket opsi grafis.

Perbandingan Post FX basic (kiri) vs ultra (kanan) pada GTA V

Sub Surface Scattering (SSS)

Sub Surface Scattering adalah metode yang mensimulasikan efek cahaya yang menembus permukaan obyek, misalnya kulit manusia.

(sumber Wikipedia)

Graphics API

Ada banyak sekali prosesor grafis (GPU) yang beredar, termasuk buatan NVIDIA, AMD, dan Intel. Tidak mungkin developer game membuat optimasi kode untuk setiap GPU satu per satu. Maka digunakanlah apa yang disebut API (Application Programming Interface). API inilah yang "menerjemahkan" instruksi langsung ke hardware. Jadi ini semacam driver, tapi khusus untuk grafis 3D.

Saya akan ambil contoh dari yang digunakan di RDR 2: Vulkan dan Direct3D.

Vulkan dibuat berdasarkan AMD Mantle (API buatan AMD yang disumbangkan ke pembuat Vulkan) dan bisa dibilang versi lebih canggih dari saudaranya, OpenGL. Vulkan itu multi platform, Linux juga support API ini.

Sedangkan Direct3D adalah bagian dari DirectX. API ini buatan Microsoft dan digunakan di XBox dan Windows. Versi terbarunya adalah Direct3D 12 (DirectX 12)

Pilih yang mana? Kalau dari percobaan saya di game RDR 2, tidak ada bedanya kalau soal frame rate. Artikel ini juga berpendapat serupa. Mungkin akan terlihat bedanya di sudut pandang game developer.