Microsoft Flight Simulator 2024 Hadapi Masalah Performa Besar Meski Ada Inovasi Modul WebAssembly

Tim Komunitas BigGo
Microsoft Flight Simulator 2024 Hadapi Masalah Performa Besar Meski Ada Inovasi Modul WebAssembly

Microsoft Flight Simulator 2024 memperkenalkan perubahan arsitektur yang signifikan dengan beralih dari add-on berbasis DLL tradisional ke modul WebAssembly (WASM), namun implementasinya telah memicu kritik luas dari komunitas gaming karena masalah crash yang persisten dan masalah performa.

Transisi ini merepresentasikan upaya Microsoft untuk meningkatkan keamanan dan kompatibilitas lintas platform untuk add-on pihak ketiga. Alih-alih mengizinkan developer untuk mendistribusikan file DLL yang berpotensi tidak aman, sistem baru mengkompilasi kode C++ menjadi modul WebAssembly yang kemudian dikonversi kembali ke kode native saat runtime. Pendekatan ini menciptakan sandbox keamanan sambil mempertahankan performa melalui kompilasi ahead-of-time.

Jenis-jenis Modul WebAssembly di MSFS 2024:

  • Modul mandiri: Dimuat secara otomatis ketika paket dipasang
  • Modul gauge: Berisi callback instrumen kokpit
  • Modul bandara: Terhubung dengan scenery, dimuat/dibongkar saat spawn/despawn
  • Modul sistem: Berisi callback tingkat sistem

Komunitas Laporkan Masalah Stabilitas yang Meluas

Para pemain dan streamer melaporkan crash yang sering terjadi dan degradasi performa sejak peluncuran game. Masalah-masalah ini menjadi sangat umum sehingga komentar terkait crash mendominasi chat live streaming, dengan banyak pengguna mengekspresikan frustrasi atas stabilitas game. Beberapa pemain berpengalaman dengan ribuan jam di versi sebelumnya menggambarkan implementasi saat ini sebagai memiliki penerimaan yang TIDAK positif di antara para gamer.

Masalah-masalah tersebut tampaknya berasal dari berbagai faktor di luar implementasi WebAssembly saja. Transisi game ke DirectX 12 dan peningkatan fidelitas visual telah menciptakan keterbatasan VRAM yang signifikan, terutama mempengaruhi pengguna dengan kartu grafis high-end yang sebelumnya menjalankan versi 2020 dengan lancar.

Arsitektur Teknis Ungkap Implementasi yang Kompleks

Solusi WebAssembly Microsoft mencakup toolset Visual Studio yang komprehensif yang memungkinkan kompilasi langsung proyek C++ yang sudah ada menjadi modul WASM. Sistem ini mendukung library C standar, kemampuan debugging, dan mencakup wrapper GDI+ berdasarkan NanoVG API untuk memudahkan transisi bagi developer add-on yang sudah ada.

Arsitektur menjalankan setiap modul WebAssembly pada thread terpisah, tidak seperti versi 2020 di mana semua modul berbagi thread utama. Perubahan ini secara teoritis seharusnya meningkatkan performa dengan memungkinkan modul menggunakan seluruh frame untuk update, namun implementasi praktisnya menghadapi tantangan yang signifikan.

WebAssembly: Format instruksi biner yang memungkinkan kode yang ditulis dalam bahasa seperti C++ berjalan dalam lingkungan sandbox dengan performa mendekati native.

File API Utama untuk Pengembangan WASM:

  • MSFS.h dan MSFS_Core.h: File dasar untuk semua proyek gauge WASM
  • MSFS_GaugeContext.h: Diperlukan untuk callback gauge MSFS 2024
  • MSFS_Render.h: API NanoVG untuk rendering
  • MSFS_Vars.h: Pengganti untuk Legacy Gauge API yang sudah tidak digunakan
  • Legacy/gauges.h: Sekarang dianggap sebagai API lama, tidak direkomendasikan untuk proyek baru

Masalah Grafis dan Manajemen Memori Memperparah Masalah

Di luar implementasi WebAssembly, pengguna melaporkan bahwa engine grafis yang diupgrade menciptakan tekanan memori yang substansial. Pemain dengan sistem high-end termasuk kartu RTX 3080 Ti dengan VRAM 12GB mengalami degradasi performa saat menjalankan dalam resolusi VR atau 4K. Sistem manajemen tekstur tampaknya kesulitan dengan alokasi memori, menyebabkan penurunan frame rate yang membuat gameplay VR menjadi sangat menantang.

Ketika mereka beralih ke MSFS 2024 mereka menulis ulang untuk DX12 dan sambil melakukan itu mengupgrade beberapa hal agar terlihat lebih bagus. Manajemen tekstur masih tampaknya memerlukan beberapa perbaikan.

Situasi ini telah membuat banyak pemain menunda transisi mereka dari versi 2020, menunggu update masa depan untuk mengatasi masalah performa fundamental ini.

Manfaat Keamanan Datang dengan Kompleksitas Pengembangan

Meskipun pendekatan WebAssembly mengatasi kekhawatiran keamanan yang sah tentang add-on pihak ketiga, ini memperkenalkan kompleksitas baru bagi developer. Sistem memerlukan linking library spesifik (MSFS_WasmVersions.a) untuk memastikan modul dikenali sebagai kompatibel dengan 2024, dan banyak API lama telah deprecated demi alternatif baru yang kompatibel dengan threading.

Implementasi juga mencakup pembatasan akses file dan sistem enkripsi untuk konten marketplace, yang membatasi bagaimana developer add-on dapat mengakses file konfigurasi tertentu dalam paket mereka. Ini menciptakan rintangan tambahan bagi developer yang mencoba mem-port add-on yang sudah ada ke platform baru.

Meskipun menghadapi tantangan saat ini, pendekatan WebAssembly merepresentasikan eksperimen yang menarik dalam menyeimbangkan keamanan, performa, dan kompatibilitas lintas platform untuk modifikasi game. Namun, pengalaman pengguna langsung menunjukkan bahwa implementasi memerlukan penyempurnaan yang signifikan sebelum dapat memberikan keunggulan teoretisnya.

Referensi: WEBASSEMBLY (WASM)