ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ ΡΠ° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈΡΠ΅, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΊΡΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° VTE (Virtual TERminal library) ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ GNOME 46. ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π±Π΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½Π° ΠΎΡΠ·ΠΈΠ²ΡΠΈΠ²ΠΎΡΡΡΠ° Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π½ΠΈΡΠ΅ Π΅ΠΌΡΠ»Π°ΡΠΎΡΠΈ Alacritty, Console (GTK 4). , GNOME Terminal (GTK 3 ΠΈ 4) ΠΈ VTE Test App (ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π½Π° VTE), ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π½Π° Fedora 39 Ρ GNOME 45 ΠΈ Fedora 40-beta Ρ GNOME 46. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Alacritty Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° VTE Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΠΈ Π±Π΅ΡΠ΅ ΠΈΠ·Π±ΡΠ°Π½ΠΎ ΠΊΠ°ΡΠΎ ΡΠΏΡΠ°Π²ΠΊΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ, ΡΡΠ΄Π΅ΠΉΠΊΠΈ ΠΏΠΎ ΠΌΠΈΠ½Π°Π»ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅, ΡΠΎΠ²Π° Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ Π½Π°ΠΉ-Π±ΡΡΠ·ΠΈΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π½ΠΈ Π΅ΠΌΡΠ»Π°ΡΠΎΡΠΈ. ΠΠ° ΠΈΠ·ΠΌΠ΅ΡΠ²Π°Π½Π΅ΡΠΎ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ΅Π½ ΡΠ΅Π½Π·ΠΎΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠ»Π°ΡΠΊΠ°ΡΠ° Teensy, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ²Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° Π±ΡΡΠΎΠ½ ΠΈ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° Π΅ΠΊΡΠ°Π½Π°.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° VTE ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π³ΠΎΡΠΎΠ²Π° Π΄ΠΆΠ°Π΄ΠΆΠ° GTK, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π½ΠΈ Π΅ΠΌΡΠ»Π°ΡΠΎΡΠΈ Π·Π° GNOME, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ GNOME Terminal, Console, Black Box, Tilix, Terminator ΠΈ Ptyxis. ΠΡΠ² Π²Π΅ΡΡΠΈΡ GNOME 46 VTE Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠΈ Π²ΡΡΡΠ΅ΡΠ½ΠΈΡΠ΅ ΡΡΡΡΠΊΡΡΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΡΠΏΠΎΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΠΎ-Π±ΡΡΠ·ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠΈΠ΅ΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π΄ΠΎΡΡΠΈΠ³Π½Π° 40% ΠΏΡΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅. ΠΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ° Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ Π΄ΠΎΠ²Π΅Π΄ΠΎΡ Π° Π΄ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡΡΠ° ΠΏΡΠΈ ΡΠ΅Π½Π΄ΠΈΡΠ°Π½Π΅ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Ρ GTK 4. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π±ΡΡ Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡΡΠ° ΠΏΡΠΈ Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°ΡΠ° Π² ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° ΠΈ GNOME Termina, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ±Π΅Π·ΡΡΡΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π½ΠΈ Π΅ΠΌΡΠ»Π°ΡΠΎΡΠΈ Π·Π° GNOME. Π‘ VTE 0.76 ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π΅ ΡΠ΅ΡΠ΅Π½.
ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΈΡΠ΅ ΡΠ΅ΡΡΠΎΠ²Π΅ ΠΏΠΎΡΠ²ΡΡΠ΄ΠΈΡ Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡΠ° Π½Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° VTE, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π²Π° Π½Π΅ ΡΠ°ΠΌΠΎ Π² ΠΏΡΠΎΡΡΠΈ, Π½ΠΎ ΠΈ Π² ΡΠ»ΠΎΠΆΠ½ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° neovim, Π²Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ Π½Π° Π±Π°Π·ΠΈΡΠ°Π½ΠΈΡΠ΅ Π½Π° VTE ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π½ΠΈ Π΅ΠΌΡΠ»Π°ΡΠΎΡΠΈ Π±ΡΡ Π° Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈ Π΄ΠΎ Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° Π½Π°ΠΉ-Π±ΡΡΠ·ΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Alacritty. ΠΠΎ-ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ, Π² ΡΠ΅ΡΡΠ°, ΡΠ²ΡΡΠ·Π°Π½ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° βΠΊΠΎΡΠΊΠ°β, ΡΠ΅Π°ΠΊΡΠΈΡΡΠ° Π½Π° Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅ Π½Π° ΠΊΠ»Π°Π²ΠΈΡΠΈ Π² ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° GNOME Π½Π°ΠΌΠ°Π»Ρ Π΄ΠΎ 40 Π΄ΠΎ 12 ms, Π° Π² ΡΠ΅ΡΡΠ° Π·Π° ΠΏΡΠ΅Π²ΡΡΡΠ°Π½Π΅ Π² neovim - ΠΎΡ 45 Π΄ΠΎ 23 ms.
Π£ΡΠΊΠΎΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° VTE ΡΡΡΠΎ ΡΠ΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π²Π° Π² ΡΠ΅ΡΡΠΎΠ²ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ vtebench, ΠΊΠΎΠΉΡΠΎ Π½Π΅ ΠΈΠ·ΠΌΠ΅ΡΠ²Π° Π·Π°Π±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° Π²Ρ ΠΎΠ΄Π°, Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΎΡ PTY ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π°Π½Π°Π»ΠΈΠ· (ΡΠ΅ΡΡΠΎΠ²Π΅ Π·Π° ΡΠΊΠΎΡΠΎΡΡ Π½Π° ΠΏΡΠ΅Π²ΡΡΡΠ°Π½Π΅ ΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΡΡΡΠΎΡΠ°). Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π² ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ΅ΡΡΠΎΠ²Π΅ Π½Π° vtebench ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΡ Alacritty ΠΏΡΠ΅Π²ΡΠ·Ρ ΠΎΠΆΠ΄Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° ΠΈ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° GNOME, Π½ΠΎ ΠΈΠ·ΠΎΡΡΠ°Π²Π°Π½Π΅ΡΠΎ ΡΠΏΡΡΠΌΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΈΠ·ΡΠ°Π·Π΅Π½ΠΎ, ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΡΠ΅Π΄ΠΈ. Π§Π°ΡΡ ΠΎΡ ΠΈΠ·ΠΎΡΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π½Π° GNOME ΡΠ΅ Π΄ΡΠ»ΠΆΠΈ Π½Π° ΠΈΠ·Π»ΠΈΡΠ½ΠΈΡΠ΅ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru