Microsoft Flight Simulator 2024 Menghadapi Masalah Prestasi Utama Walaupun Inovasi Modul WebAssembly

Pasukan Komuniti BigGo
Microsoft Flight Simulator 2024 Menghadapi Masalah Prestasi Utama Walaupun Inovasi Modul WebAssembly

Microsoft Flight Simulator 2024 memperkenalkan perubahan seni bina yang ketara dengan beralih daripada add-on berasaskan DLL tradisional kepada modul WebAssembly (WASM), tetapi pelaksanaannya telah mencetuskan kritikan meluas daripada komuniti permainan kerana masalah ranap dan prestasi yang berterusan.

Peralihan ini mewakili percubaan Microsoft untuk meningkatkan keselamatan dan keserasian merentas platform bagi add-on pihak ketiga. Daripada membenarkan pembangun mengedarkan fail DLL yang berpotensi tidak selamat, sistem baharu mengkompil kod C++ ke dalam modul WebAssembly yang kemudiannya ditukar kembali kepada kod asli semasa runtime. Pendekatan ini mewujudkan kotak pasir keselamatan sambil mengekalkan prestasi melalui kompilasi ahead-of-time.

Jenis-jenis Modul WebAssembly dalam MSFS 2024:

  • Modul berdiri sendiri: Dimuatkan secara automatik apabila pakej dipasang
  • Modul tolok: Mengandungi panggilan balik instrumen kokpit
  • Modul lapangan terbang: Dipautkan kepada pemandangan, dimuatkan/dinyahmuatkan dengan spawn/despawn
  • Modul sistem: Mengandungi panggilan balik peringkat sistem

Komuniti Melaporkan Masalah Kestabilan yang Meluas

Pemain dan streamer telah melaporkan ranap yang kerap dan kemerosotan prestasi sejak pelancaran permainan. Isu-isu ini telah menjadi begitu biasa sehingga komen berkaitan ranap mendominasi chat streaming langsung, dengan ramai pengguna menyatakan kekecewaan terhadap kestabilan permainan. Sesetengah pemain berpengalaman dengan beribu-ribu jam dalam versi sebelumnya menggambarkan pelaksanaan semasa sebagai mempunyai sambutan yang TIDAK positif dalam kalangan pemain.

Masalah-masalah ini nampaknya berpunca daripada pelbagai faktor selain daripada pelaksanaan WebAssembly sahaja. Peralihan permainan kepada DirectX 12 dan peningkatan ketajaman visual telah mewujudkan had VRAM yang ketara, terutamanya menjejaskan pengguna dengan kad grafik mewah yang sebelum ini menjalankan versi 2020 dengan lancar.

Seni Bina Teknikal Mendedahkan Pelaksanaan yang Kompleks

Penyelesaian WebAssembly Microsoft termasuk set alat Visual Studio yang komprehensif yang membolehkan kompilasi langsung projek C++ sedia ada ke dalam modul WASM. Sistem ini menyokong perpustakaan C standard, keupayaan debug, dan termasuk wrapper GDI+ berdasarkan API NanoVG untuk memudahkan peralihan bagi pembangun add-on sedia ada.

Seni bina ini menjalankan setiap modul WebAssembly pada thread berasingan, tidak seperti versi 2020 di mana semua modul berkongsi thread utama. Perubahan ini secara teorinya sepatutnya meningkatkan prestasi dengan membolehkan modul menggunakan keseluruhan frame untuk kemas kini, tetapi pelaksanaan praktikal telah menghadapi cabaran yang ketara.

WebAssembly: Format arahan binari yang membolehkan kod yang ditulis dalam bahasa seperti C++ berjalan dalam persekitaran kotak pasir dengan prestasi hampir asli.

Fail API Utama untuk Pembangunan WASM:

  • MSFS.h dan MSFS_Core.h: Fail asas untuk semua projek tolok WASM
  • MSFS_GaugeContext.h: Diperlukan untuk panggilan balik tolok MSFS 2024
  • MSFS_Render.h: API NanoVG untuk pemaparan
  • MSFS_Vars.h: Pengganti untuk API Tolok Warisan yang sudah lapuk
  • Legacy/gauges.h: Kini dianggap sebagai API warisan, tidak disyorkan untuk projek baharu

Masalah Grafik dan Pengurusan Memori Memburukkan Lagi Masalah

Selain pelaksanaan WebAssembly, pengguna melaporkan bahawa enjin grafik yang dinaik taraf permainan mewujudkan tekanan memori yang besar. Pemain dengan sistem mewah termasuk kad RTX 3080 Ti dengan VRAM 12GB mengalami kemerosotan prestasi apabila menjalankan dalam resolusi VR atau 4K. Sistem pengurusan tekstur nampaknya bergelut dengan peruntukan memori, menyebabkan penurunan kadar frame yang menjadikan gameplay VR amat mencabar.

Apabila mereka beralih kepada MSFS 2024 mereka menulis semula untuk DX12 dan sambil melakukan itu menaik taraf beberapa perkara untuk kelihatan lebih cantik. Pengurusan tekstur masih nampaknya memerlukan sedikit kerja.

Keadaan ini telah menyebabkan ramai pemain menangguhkan peralihan mereka daripada versi 2020, menunggu kemas kini masa depan untuk menangani isu-isu prestasi asas ini.

Faedah Keselamatan Datang dengan Kerumitan Pembangunan

Walaupun pendekatan WebAssembly menangani kebimbangan keselamatan yang sah tentang add-on pihak ketiga, ia memperkenalkan kerumitan baharu untuk pembangun. Sistem ini memerlukan pemautan perpustakaan khusus (MSFS_WasmVersions.a) untuk memastikan modul diiktiraf sebagai serasi-2024, dan banyak API warisan telah dihentikan penggunaannya memihak kepada alternatif baharu yang serasi-threading.

Pelaksanaan ini juga termasuk sekatan akses fail dan sistem penyulitan untuk kandungan marketplace, yang mengehadkan cara pembangun add-on boleh mengakses fail konfigurasi tertentu dalam pakej mereka. Ini mewujudkan halangan tambahan untuk pembangun yang cuba memindahkan add-on sedia ada ke platform baharu.

Walaupun menghadapi cabaran semasa, pendekatan WebAssembly mewakili eksperimen menarik dalam mengimbangi keselamatan, prestasi, dan keserasian merentas platform untuk pengubahsuaian permainan. Walau bagaimanapun, pengalaman pengguna segera menunjukkan bahawa pelaksanaan memerlukan penambahbaikan ketara sebelum ia dapat menyampaikan kelebihan teorinya.

Rujukan: WEBASSEMBLY (WASM)