Yazisa indlela entsha yenkqubo efihlakeleyo kunye nokuchongwa kwesikhangeli

Iqela labaphandi abavela kwiYunivesithi yaseGraz yeTekhnoloji (eAustria), eyaziwayo ngaphambili ngokuphuhlisa iindlela zokuhlasela MDS, Yiya ΠΈ Umjikijelwa, kutyhilwe ulwazi malunga nendlela entsha yokuhlalutya umntu wesithathu ekuvumela ukuba uqonde eyona nguqulelo yesikhangeli, inkqubo yokusebenza esetyenzisiweyo, ulwakhiwo lweCPU, kunye nokusetyenziswa kwezongezo ukulwa ukuchongwa okufihlakeleyo.

Ukumisela ezi parameters, kwanele ukwenza ikhowudi yeJavaScript elungiselelwe ngabaphandi kwisiphequluli. Ngokwenza, indlela ingasetyenziswa nje njengomthombo owongezelelweyo wokuchongwa komsebenzisi ongathanga ngqo, kodwa kunye nokumisela iiparameters zemo yenkqubo yokusetyenziswa okujoliswe kuyo, kuthathelwa ingqalelo i-OS, i-architecture, kunye nesikhangeli. Le ndlela ikwasebenza xa usebenzisa iibhrawuza ezineendlela ezifihliweyo zokuthintela, njengeTor Browser. Ikhowudi yemvelaphi yeprototype ikhowudi kunye nokuphunyezwa kwendlela ipapashiwe phantsi kwelayisenisi ye-MIT.

Ukumiselwa kwenziwa ngesiseko sokwabiwa kweepatheni zombuso wepropathi uphawu lweziphequluli ezahlukeneyo kwiJavaScript kunye neempawu zexesha lokwenziwa kwemisebenzi, kuxhomekeke kwiifitsha zeJIT, CPU kunye neendlela zokwabiwa kwememori. Ukuchaza iipropati kwenziwa ngokuvelisa uluhlu lwazo zonke izinto ezikhoyo kwiJavaScript. Njengoko kwavela, inani lezinto lihambelana ngokuthe ngqo ne-injini yesikhangeli kunye nenguqulelo yayo.

umsebenzi getProperties(o) {
varresult = [];
ngelixa (o !== null) {
isiphumo = result.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
isiphumo sokubuya;
}

Umzekelo, kwiFirefox, inkxaso yeepropathi ze-2247 ibhengezwe kuxwebhu, ngelixa inani langempela leepropati ezithile, kuthathelwa ingqalelo ezingabhalwanga, yi-15709 (kwiTor Browser - 15639), kwiipropati zeChrome 2698 zibhengezwa, kodwa i-13570 zinikezelwa ngokwenene (kwiChrome ye-Android - 13119) . Inani kunye namaxabiso eepropathi ayahluka ukusuka kuguqulelo ukuya kuguqulelo lwesikhangeli kunye nakwiinkqubo ezahlukeneyo zokusebenza.

Amaxabiso kunye nobukho beempawu ezithile zingasetyenziselwa ukumisela uhlobo lwe-OS. Umzekelo, kwi-Kubuntu ipropathi yewindow.innerWidth imiselwe kwi-1000, kwaye kwi-Windows 10 imiselwe ku-1001. Kwi-Windows, ipropathi ye-window.navigator.activeVRDisplays iyafumaneka, kodwa kwi-Linux ayikho. Iifowuni ezininzi ezikhethekileyo zibonelelwa nge-Android, kodwa akukho window.SharedWorker. Ukuchonga inkqubo yokusebenza, kukwacetywayo ukusebenzisa uhlalutyo lweeparamitha zeWebGL, imeko exhomekeke kubaqhubi. Ukongeza, ukufowunela WEBGL_debug_renderer_infoextension ikuvumela ukuba ufumane ulwazi malunga ne-OpenGL enikezela ngenjini, eyahlukileyo kwisixokelelwano ngasinye esisebenzayo.

Ukumisela i-CPU, uvavanyo lweeyantlukwano kwixesha lokuphunyezwa kweebhloko zekhowudi eziqhelekileyo zisetyenzisiweyo, ukuqhutyelwa kwayo kuxhomekeke kulwakhiwo lweseti yomyalelo, kuthathelwa ingqalelo indlela yokuziphatha kweJIT (kumiselwa ukuba zingaphi iirejista ze-CPU. iya kubandakanyeka kwaye kwiimeko apho iJIT iya kuvelisa ikhowudi esebenzayo kunye nokulungiswa kunye nokubandakanya imiyalelo eyandisiweyo, kwaye xa kungenjalo ). Ukumisela uhlobo lwenkqubo yokwabiwa kwememori kunye nenkqubo yokusebenza, umahluko kwixesha lokwabiwa kwememori kwizakhiwo ezahlukahlukeneyo nazo zilinganiswe, ezingasetyenziselwa ukugweba ubungakanani beebhloko zememori.

Iiparamitha ezigqitywe ngexesha lokwenziwa kweskripthi zithelekiswa namaxabiso ereferensi eqhelekileyo kwindawo evavanywe kwangaphambili. Ngexesha lovavanyo, ubugcisa obuphuhlisiwe buye benza ukuba kube lula ukumisela ngokuchanekileyo iimeko ezingama-40 zovavanyo ezahlukeneyo, ukugqiba iinguqulelo zeziphequluli ezisetyenzisiweyo, umenzi weCPU, inkqubo yokusebenza esetyenzisiweyo, nokuba ibisebenza kwihardware yokwenyani okanye kumatshini obonakalayo.

Ngokwahlukileyo, ukubakho kokuchaza izongezo zebrowser kunye nesetingi ezongeziweyo zomntu ngamnye, kubandakanywa nezongezo ezenzelwe ukuvimba iindlela zokuchonga ezifihlakeleyo okanye umsebenzi wokukhangela wabucala, uyaphawulwa. Kumxholo wendlela ecetywayo, ezongezo ezinjalo ziba ngomnye umthombo wedatha yokuchonga. Izongezo zichongwa ngovavanyo lokugqwethwa kweeparamitha zendalo yokuqala evezwe ngezongezo.

Phakathi kwezinye iindlela zokuchonga, kunokwenzeka ukuqaphela ukuqwalaselwa kwedatha engathanga ngqo njenge isisombululo sesikrini, uluhlu lweentlobo ezixhaswayo ze-MIME, iinketho ezikhankanyiweyo zeheader (HTTP / 2 ΠΈ HTTPS), uhlalutyo olusekiweyo iiplagi kunye neefonti, ukufumaneka kweWeb APIs ezithile kumakhadi evidiyo Iimbonakalo Ukubonelela ngeWebGL kunye I-Canvas, ukukhohlisa ngeCSS, uhlalutyo lweempawu zokusebenza kunye impuku ΠΈ ikhibhodi.

umthombo: opennet.ru

Yongeza izimvo