SteamOS Beta Baru Lebih Pintar Atur VRAM, Game di GPU Diskret Bisa Lebih Mulus

SteamOS kini mendapat dorongan penting untuk perangkat dengan GPU diskrit. Pembaruan beta 3.8.20 dikabarkan membawa cara baru yang membuat pengelolaan VRAM jauh lebih efisien di perangkat yang menjalankan SteamOS secara native.

Perubahan ini terasa relevan karena banyak perangkat SteamOS memiliki keterbatasan pada memori grafis. Saat VRAM cepat penuh, sistem sebelumnya lebih mudah memindahkan data ke area lain yang performanya lebih lambat, dan itu bisa memicu penurunan respons saat bermain.

Mengapa VRAM jadi titik rawan

GPU diskrit punya memori khusus bernama VRAM, tetapi mereka juga bisa memakai pool memori lain di sistem yang disebut Graphics Translation Table atau GTT. Meski GTT dikelola sistem operasi dan tetap terlihat oleh GPU, aksesnya berjalan lewat antarmuka PCIe yang punya bandwidth lebih rendah dan latensi lebih buruk dibanding VRAM.

Itulah sebabnya data yang jatuh ke GTT berisiko membuat performa turun. Game dan aplikasi biasanya berusaha menaruh data yang benar-benar dibutuhkan GPU ke VRAM, namun ketika kapasitas VRAM tidak cukup, sistem operasi harus melakukan eviction untuk memindahkan sebagian data ke GTT.

Masalahnya, sistem tidak selalu tahu data mana yang paling penting untuk dipertahankan di VRAM. Proses memindah-mindahkan data antar-pool ini bisa memicu stall, sehingga Linux mengandalkan strategi alokasi khusus di memory manager untuk mengurangi dampaknya.

Peran cgroups dalam solusi baru

Solusi yang masuk ke beta SteamOS ini berangkat dari pendekatan Linux control groups atau cgroups. Fitur kernel ini memberi kontrol lebih rinci atas alokasi, prioritas, dan pengelolaan sumber daya untuk kelompok proses yang ditentukan pengguna.

Dalam skema baru itu, permintaan alokasi VRAM tidak lagi hanya menetapkan VRAM sebagai domain tunggal. Permintaan juga memasukkan GTT sebagai domain cadangan, sehingga kernel tetap memprioritaskan VRAM, tetapi tidak memaksa proses lain di VRAM untuk dikorbankan hanya demi membuat ruang.

Pendekatan ini lahir dari kerja sejumlah pengembang. Natalie Vock, yang bekerja sebagai kontraktor independen untuk Valve pada RADV, sebelumnya sudah menulis soal masalah alokasi dan penggunaan VRAM di Linux, lalu Valve menerapkan ide tersebut ke SteamOS.

Perbaikan yang terlihat pada pengujian

Vock menemukan kelemahan nyata saat menguji Cyberpunk 2077 pada GPU dengan 8 GB memori khusus. Saat itu, sistem masih memakai 1.370 MB GTT, padahal game hanya menggunakan 6.105 MB, dan sebagian VRAM juga dipakai aplikasi latar belakang.

Setelah patch diterapkan, hasilnya berubah cukup jelas. Pemakaian VRAM Cyberpunk 2077 naik dari 6.105 menjadi 7.395 MB, sementara penggunaan GTT turun dari 1.370 menjadi 650 MB.

Pergeseran ini penting karena lebih banyak data kini berada di tempat yang tepat. Dengan begitu, game menjadi kurang rentan terhadap stutter dan jeda panjang yang biasanya muncul saat data terus dipindahkan antar memori.

Dampak terbesar ada di perangkat GPU diskrit

Bagi Steam Deck, manfaatnya diperkirakan tidak sebesar itu karena perangkat tersebut memakai GPU terintegrasi. Pada sistem seperti ini, VRAM dan GTT sama-sama berada di memori sistem, sehingga keuntungan dari pemisahan memori grafis khusus menjadi terbatas.

Meski begitu, tetap ada kemungkinan keuntungan kecil karena sistem tidak perlu memindahkan pointer memori ke lokasi di luar memori grafis khusus. Dampak yang paling terasa justru akan muncul pada Steam Machine dan perangkat lain yang menjalankan SteamOS dengan GPU diskrit.

Itu membuat beta terbaru SteamOS menjadi kabar penting bagi pengguna yang mengandalkan perangkat berbasis GPU diskrit. Di sisi teknis, pembaruan ini menunjukkan bahwa pengelolaan memori grafis di Linux terus bergerak ke arah yang lebih sadar terhadap kebutuhan game.

Terkait