Pag-assess sa epekto sa mga pag-optimize sa GNOME 46 sa paghimo sa mga terminal emulator

Ang mga resulta sa pagsulay sa pagka-epektibo sa mga pag-optimize nga gidugang sa VTE library (Virtual TERminal library) ug gilakip sa pagpagawas sa GNOME 46. Atol sa pagsulay, ang pagtubag sa interface gisukod sa mga terminal emulators Alacritty, Console (GTK 4) , GNOME Terminal (GTK 3 ug 4) ug VTE Test App (pananglitan gikan sa VTE repository), kung nagdagan sa Fedora 39 nga adunay GNOME 45 ug Fedora 40-beta nga adunay GNOME 46. Ang Alacritty nga aplikasyon wala mogamit sa VTE library ug gipili isip usa ka pakisayran, tungod kay, sa paghukom sa nangagi nga mga pagsulay, kini mao ang usa sa labing paspas nga terminal emulators. Alang sa pagsukod, gigamit ang usa ka sensor sa hardware nga gibase sa Teensy board, nga nagsukod sa oras tali sa pagpindot sa usa ka buton ug ang hitsura sa impormasyon sa screen.

Naghatag ang librarya sa VTE og andam nga GTK widget nga gigamit sa lainlaing mga terminal emulator alang sa GNOME, lakip ang GNOME Terminal, Console, Black Box, Tilix, Terminator ug Ptyxis. Sa bersyon nga GNOME 46, ang VTE labi nga nagdisenyo pag-usab sa mga internal nga istruktura, nga, sumala sa mga nag-develop, nagdala sa mas paspas nga mga operasyon, ang pagtaas sa pasundayag diin nakaabot sa 40% sa mga pagsulay. Sa praktikal nga bahin, ang mga pag-optimize misangpot sa pagkunhod sa rendering delays sa mga configuration uban sa GTK 4. Kaniadto, ang mga paglangan sa input sa keyboard sa Console ug GNOME Termina mamatikdan, nga nakapaluya sa daghang tiggamit sa paggamit sa standard terminal emulators para sa GNOME. Uban sa VTE 0.76 kini nga isyu nasulbad na.

Gikumpirma sa independente nga pagsulay ang usa ka mamatikdan nga pagkunhod sa latency sa input sa data sa mga aplikasyon nga nakabase sa VTE, nga naobserbahan dili lamang sa yano apan usab sa komplikado nga mga senaryo sa paggamit sa terminal. Pananglitan, sa paggamit sa neovim, ang input latencies sa VTE-based terminal emulators gipakunhod ngadto sa lebel sa pinakapaspas nga Alacritty terminal. Sa partikular, sa pagsulay nga may kalabutan sa paggamit sa "cat" utility, ang tubag sa mga yawe nga pagpindot sa Console ug GNOME Terminal mikunhod ngadto sa 40 ngadto sa 12 ms, ug sa scrolling test sa neovim - gikan sa 45 ngadto sa 23 ms.

Pag-assess sa epekto sa mga pag-optimize sa GNOME 46 sa paghimo sa mga terminal emulator
Pag-assess sa epekto sa mga pag-optimize sa GNOME 46 sa paghimo sa mga terminal emulator
Pag-assess sa epekto sa mga pag-optimize sa GNOME 46 sa paghimo sa mga terminal emulator

Ang speedup sa diha nga ang paggamit sa bag-ong bersyon sa VTE librarya namatikdan usab sa vtebench test suite, nga dili pagsukod sa input lag, apan pagbasa sa oras gikan sa PTY device ug parsing performance (scrolling speed ug cursor kalihukan pagsulay). Sa parehas nga oras, sa kadaghanan nga mga pagsulay sa vtebench, ang terminal sa Alacritty milabaw sa Console ug GNOME Terminal, apan ang lag sa ulahi dili ingon nga gipahayag sama kaniadto. Kabahin sa lag sa GNOME Terminal tungod sa overhead sa pagsuporta sa mga feature sa accessibility.

Pag-assess sa epekto sa mga pag-optimize sa GNOME 46 sa paghimo sa mga terminal emulator


Source: opennet.ru

Idugang sa usa ka comment