Hoʻokomo ʻia kahi ʻenehana hou no ka ʻōnaehana huna a me ka ʻike pūnaewele

He pūʻulu o nā mea noiʻi mai ke Kulanui ʻenehana o Graz (Austria), i ʻike mua ʻia no ka hoʻomohala ʻana i nā ʻano hoʻouka kaua MDS, NetSpectre и Throwammer, wehe ʻole ʻia ʻO ka ʻike e pili ana i kahi ʻenehana loiloi kaila ʻaoʻao ʻekolu e hiki ai iā ʻoe ke hoʻoholo i ka mana pololei o ka polokalamu kele pūnaewele, ka ʻōnaehana hana i hoʻohana ʻia, ka hoʻolālā CPU a me ka hoʻohana ʻana i nā mea hoʻohui e hakakā i ka ʻike huna.

No ka hoʻoholo ʻana i kēia mau ʻāpana, ua lawa ka holo ʻana i ka code JavaScript i hoʻomākaukau ʻia e nā mea noiʻi ma ka polokalamu kele pūnaewele. I ka hoʻomaʻamaʻa, hiki ke hoʻohana ʻia ke ʻano he kumu hou no ka ʻike ʻole ʻana o ka mea hoʻohana, akā no ka hoʻoholo ʻana i nā ʻāpana o ke kaiapuni ʻōnaehana no ka hoʻohana ʻana i ka hoʻohana ʻana, e noʻonoʻo ana i ka OS, ka hoʻolālā a me ka polokalamu kele. Maikaʻi nō hoʻi ke kaʻina hana i ka wā e hoʻohana ai i nā mākaʻikaʻi e hoʻokō i nā ʻano huna huna huna, e like me Tor Browser. Prototype code kumu me ka hoʻokō ʻana i ke ʻano hoʻopuka ʻia ma lalo o ka laikini MIT.

Hoʻoholo ʻia ka hoʻoholo ʻana ma ke kumu o ka ʻike ʻana i nā hiʻohiʻona o ka mokuʻāina i JavaScript he ʻano o nā polokalamu kele pūnaewele ʻē aʻe a me nā hiʻohiʻona o ka manawa hoʻokō o nā hana, e pili ana i nā ʻano o ka JIT, CPU a me nā mīkini hoʻomanaʻo. Hana ʻia ka wehewehe ʻana i nā waiwai ma ka hana ʻana i kahi papa inoa o nā mea āpau i loaʻa mai JavaScript. E like me ka mea i ʻike ʻia, pili pololei ka helu o nā mea me ka mīkini polokalamu kele pūnaewele a me kāna ʻano.

hana getProperties(o) {
var hopena = [];
ʻoiai (o ! == null) {
hopena = hopena.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
hoʻihoʻi i ka hopena;
}

No ka laʻana, ʻo Firefox ka palapala i kākoʻo i nā waiwai 2247, ʻoiai ʻo ka helu maoli o nā waiwai i wehewehe ʻia, me nā mea i palapala ʻole ʻia, ʻo 15709 (ma Tor Browser - 15639), no ka mea ua haʻi ʻia nā waiwai Chrome 2698, akā i ka ʻoiaʻiʻo ua hāʻawi ʻia ʻo 13570. Chrome no ka Android - 13119) . ʻOkoʻa ka helu a me nā waiwai o nā waiwai mai ka polokalamu kele pūnaewele a i ka polokalamu kele pūnaewele a ma nā ʻōnaehana hana like ʻole.

Hiki ke hoʻohana ʻia nā waiwai a me ke alo o kekahi mau waiwai e hoʻoholo ai i ke ʻano o ka OS. No ka laʻana, ma Kubuntu ua hoʻonohonoho ʻia ka waiwai window.innerWidth i 1000, a ma Windows 10 ua hoʻonohonoho ʻia i 1001. Aia ka waiwai window.navigator.activeVRDisplays ma Windows, akā ʻaʻole i loaʻa ma Linux. No ka Android, nui nā kelepona kikoʻī i hāʻawi ʻia, akā ʻo window.SharedWorker ʻaʻole. No ka ʻike ʻana i ka ʻōnaehana hana, ua manaʻo ʻia e hoʻohana i ka nānā ʻana i nā ʻāpana WebGL, ʻo ka mokuʻāina e pili ana i nā mea hoʻokele. Eia hou, ke kāhea ʻana iā WEBGL_debug_renderer_infoextension e ʻae iā ʻoe e loaʻa ka ʻike e pili ana i ka ʻenekini hōʻike OpenGL, ʻokoʻa ia no kēlā me kēia ʻōnaehana hana.

No ka hoʻoholo ʻana i ka CPU, hoʻohana ʻia kahi loiloi o nā ʻokoʻa i ka manawa hoʻokō o nā poloka code maʻamau, ʻo ka hana ʻana e pili ana i ka hoʻolālā ʻana o ka hoʻonohonoho aʻoaʻo, e noʻonoʻo ana i ka ʻano JIT (ua hoʻoholo ʻia i ka nui o nā papa inoa CPU e hoʻohana ʻia. a ma ia mau hihia e hoʻopuka ai ʻo JIT i nā code kūpono me nā optimizations a me ka hoʻohana ʻana i nā kuhikuhi lōʻihi, a inā ʻaʻole ). No ka hoʻoholo ʻana i ke ʻano o ka ʻōnaehana hoʻomanaʻo a me ka ʻōnaehana hana, ua ana ʻia ka ʻokoʻa o ka manawa hoʻomanaʻo no nā hale like ʻole, hiki ke hoʻohana ʻia e hoʻoholo i ka nui o nā poloka hoʻomanaʻo.

Hoʻohālikelike ʻia nā ʻāpana i hoʻoholo ʻia i ka wā o ka hoʻokō ʻana i ka palapala me nā waiwai kuhikuhi maʻamau no nā kaiapuni i hoʻāʻo mua ʻia. I ka wā o ka hoʻāʻo ʻana, ua hiki i ka ʻenehana i hoʻomohala ʻia ke ʻike pono i nā kaiapuni hoʻāʻo like ʻole 40, e ʻike ana i nā ʻano o nā polokalamu kele i hoʻohana ʻia, ka mea hana CPU, ka ʻōnaehana hana i hoʻohana ʻia, a me ka ʻoiaʻiʻo e holo ana ia ma ka ʻenehana maoli a i ʻole ka mīkini virtual.

Ma kahi kaʻawale, ʻike ʻia hiki ke wehewehe i nā mea hoʻohui pūnaewele a me nā hoʻonohonoho hoʻohui hoʻokahi, me nā mea hoʻohui i hoʻolālā ʻia no ka pale ʻana i nā ʻano ʻike huna a i ʻole ka hana ʻana i ke ʻano hiʻohiʻona pilikino. Ma ka pōʻaiapili o ke ʻano i manaʻo ʻia, ua lilo ia mau mea hoʻohui i kumu ʻike ʻē aʻe no ka ʻike. Hoʻoholo ʻia nā mea hoʻohui ma ka loiloi ʻana i nā distortions o nā ʻāpana o ke kaiapuni kumu i hoʻokomo ʻia e nā mea hoʻohui.

ʻO nā ʻano ʻike ʻē aʻe e pili ana i ka noʻonoʻo ʻana i nā ʻikepili indirect like hoʻonā hoʻonā, papa inoa o nā ʻano MIME i kākoʻo ʻia, nā ʻāpana kikoʻī ma nā poʻo (HTTP / 2 и https), ka nānā ʻana o ka hoʻokomo ʻia nā plugins a me nā font, ka loaʻa ʻana o kekahi mau API Pūnaewele, kikoʻī i nā kāleka wikiō hiʻona ka hoʻohana ʻana i ka WebGL a canvas, hoʻopunipuni me CSS, ka nānā ʻana i nā hiʻohiʻona o ka hana ʻana me iole и papapihi.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka