Selepas idea telah dibincangkan selama kira-kira setahun, Mesa 22.3 telah mendaratkan pilihan prestasi baharu yang dipanggil”block_on_depleted_buffers”untuk menunggu penimbal pada penghujung swap untuk mengurangkan kependaman–satu kemungkinan kelebihan bingkai.

Apabila pilihan”sekat pada penimbal habis”baharu didayakan, klien disekat sehingga penimbal baharu tersedia. Ini menghentikan pelaksanaan pelanggan sehingga penimbal baharu tersedia dan pada ketika itu pelanggan meneruskan lukisan. Dengan menyekat pada penghujung swap dan bukannya tingkah laku lalai menyekat pada penimbal menjadi tersedia, bingkai yang dipersembahkan adalah lebih baharu sedikit dengan kemungkinan pengurangan kependaman satu bingkai.

Pembangun sumber terbuka Roman Gilg mengusahakan tampung ini berdasarkan tampung yang dimulakan oleh Michel Danzer yang seterusnya memulakannya selepas Pierre-Loup A. Griffais”Plagman”Valve membuka tiket Mesa setahun yang lalu tentang memastikan penimbal seterusnya pada penghujung SwapBuffers() untuk mengurangkan kependaman yang dirasakan. Jurutera Injap tertumpu Linux yang terkenal meringkaskan keadaan sebagai:

Corak biasa yang diikuti oleh apl klien naif biasa (yang benar untuk kebanyakan permainan) ialah”masa sampel, simulasi, lukis, persembahkan, ulang”. Dalam senario terikat GPU, panjang swapchain ialah cara utama yang akhirnya disekat oleh apl untuk tidak terlalu mendahului GPU. Jika bukannya di atas, framebuffer seterusnya telah disahkan serta-merta pada penghujung SwapBuffers(), sebelum kembali ke apl klien, akan terdapat kurang satu nilai kependaman bingkai yang boleh dilihat oleh pengguna dalam senario di atas. Ia juga sepadan dengan apa yang dilakukan oleh pemacu dan tindanan grafik lain.

Pilihan block_on_depleted_buffers tidak didayakan secara lalai kerana ia boleh menghasilkan bingkai terlepas jika pelanggan mengambil masa terlalu lama untuk menghasilkan bingkai baharu. Valve telah pun menggunakan pilihan/tampalan ini pada SteamOS dan Steam Deck untuk membantu mengurangkan kependaman yang dilihat.

Roman Gilg mempamerkan perbezaan visualisasi GPUVis untuk tampung ini dengan block_on_depleted_buffers didayakan.

Maklumat lanjut tentang pilihan ini melalui permintaan penggabungan ini dibuka lapan bulan lalu oleh Roman Gilg dan kini digabungkan mulai semalam untuk Mesa 22.3. Perubahan itu menjejaskan kod DRI3 biasa Mesa dan oleh itu tidak terhad kepada mana-mana pemacu perkakasan Mesa tertentu.

Mesa 22.3 dengan pilihan ini sepatutnya stabil sekitar akhir November atau Disember bergantung pada cara kitaran keluaran dimainkan sebaik sahaja memulakan fasa pembekuan/keluaran calon pada awal November.

Categories: IT Info