Astenn Chrome digoust — troc'hadennoù war an dafariad

Diazezoù tretañ skeudennoù Web Worker

Ur Web Worker zo un dachenn seveniñ JavaScript distag a c’hell ober jedadennoù koust bras hep lakaat neudenn bennañ an embanner da ober an holl labour. Evit tretañ skeudennoù ar merdeer e talvez kement-se e c’hall arventennoù ar patrom mont kuit diouzh an neudennad karget eus ar boutonoù, ar c’hemennadennoù araokaat, an enporzhiañ broustoù hag an hizivadurioù skramm.

N’eo ket an disoc’h “tretañ an drekleur digoust”. Ar memes urzhiataer a ra c’hoazh ar jediñ hag a implij memor. Ar gounid arkitektouriezhel eo an dispartiañ : un obererezh patrom pounner a zo nebeutoc’h a c’hoant da stankañ pep respont etrefas e-pad ma vez o vont en-dro.

Ur gefridi etrefas implijer en deus an neudenn bennañ

Ur bajenn merdeer a ra gant JavaScript war un teul pennañ dre ret. An neudenn-se a genurzhi ivez an tresañ, al livañ hag an enporzhiañ. Ma vez dalc’het gant ur c’halkuladur hir e c’hall ar c’hlikoù bezañ daleet, ar bevaat a c’hall paouez, hag ar merdeer a c’hall kemenn ne respont ket ar bajenn.

Ur bern kefridioù pennañ en deus un embanner skeudennoù a-raok ma krogo an diferadur :

Lakaat labour niverel ur patrom rannañ war ar memes teul a lakafe an oberoù-se da genstrivañ war-eeun. Un oberour a grou un harz sklaeroc’h.

An harzoù diazezet war ar c’hemennadennoù

Ne rann ket an embanner hag al labourer argemmennoù ordinal. Kemennañ a reont dre gas kemennadennoù. Ur red eeunaet a seblant bezañ evel-henn :

  1. An embanner a grou pe a adimplij un oberer.
  2. Goulenn a ra digant al labourer lakaat an amzer da vont en-dro hag ar patrom da dalvezout.
  3. Prientiñ a ra roadennoù ar skeudennoù ha kas a ra ur goulenn diverkañ.
  4. An oberour a dreuzfurm ar roadennoù e mont e-barzh gortozet ar patrom.
  5. Al labourer a ra war-dro ar patrom hag a brodu talvoudoù maskl.
  6. Kas a ra ar maskl pe ar roadennoù disoc’h en-dro.
  7. An embanner a zastum ar rakweled hag a aotre ar reizhañ pe an ezporzhiañ.

Ret eo d’ar c’hemennadennoù kaout un endro a-walc’h evit klotañ gant ur respont d’ar goulenn reizh. A-bouez eo ma tibab un implijer ur skeudenn all a-raok ma vo echu al labour kent. Ret eo d’an etrefas chom hep diskouez un disoc’h kozh war un tarzh nevez.

Eilañ ha treuzkas roadennoù ar skeudennoù

Marc’had-mat eo kas ur gemennadenn vihan. Kas milionoù a dalvoudoù piksel a c’hell bezañ koust bras ma rank ar merdeer kopiañ ar buffer a-bezh. Gallout a ra an APIoù Web treuzkas perc’henniezh bufferoù binarel resis e-lec’h. Ur buffer treuzkaset a zeu da vezañ hegerz d’ar resever hep mirout un eiladenn implijus war tu ar c’haser.

An optimizadur-se a zeu gant ur strishadur tresañ : goude an treuzkas, ne c’hall ket ar c’haser kenderc’hel da implijout ar memes buffer evel pa vije perc’henn war ar roadennoù c’hoazh. Un embanner a c’hall mirout ur skeudennadur diskouez distag, krouiñ ur buffer diferañ gouestlet pe adsevel ar pezh a rank diwezhatoc’h.

N’eo ket pep implij a implij an treuzkas er memes lec’hioù rik. Ar c’hentelioù hollek eo ne laka ket dispartiañ an teulioù da vont da get al lusk roadennoù. Ment ar skeudenn, ment ar buffer hag an niver a dreuzfurmadurioù a efed c’hoazh war an dale hag ar memor.

Ar pezh a laka Easy Background Remover e-barzh al labourer

Easy Background Remover a implij ur Web Worker gant un amzer-da-zont diverkañ merdeer evit ar rannañ war an dafariad. Ar pazenn troc’hañ emgefre pounner a brodu ur maskl. Diskouez a ra an embanner an disoc’h kempennet neuze ha skoazellañ a ra ar c’hefluniadur gant ar broust CPU-canvas.

An disparti-mañ a ro d’ar c’hwitadennoù un harz talvoudusoc’h. Ma ne c’hall ket al labourer arloañ pe ma c’hwit e-pad an diverrañ, e c’hall an etrefas kelaouiñ ur fazi liammet ouzh al labourer e-lec’h fiziañ en un ivinell stanket da viken evel ar sinal nemetañ.

Kompren a ra ivez ar goulenn treuzfurmiñ lec’hel. Kas pikseloù eus ur bajenn astenn d’he labourer hec’h-unan a zo ur c’hemennadenn e-barzh endro ar merdeer, n’eo ket un enporzhiadenn war un API troc’hañ a-bell. Ar c’hentañ dalc’h a c’hall pellgargañ war-eeun an arc’hwel patrom a c’haller adimplijout ; gwelit Perak e vez pellgarget ur patrom gant ar redadeg kentañ.

Un oberour ne ra ket ar jediñ diouzhtu

Gwellaat a ra al labourerien ar responterezh, ha n’eo ket barregezh an dafariad c’hrouet. Ar patrom a implij c’hoazh CPU, GPU pe arc’hwelioù amzer-redek all hervez ar pezh a c’hall ar merdeer kinnig. Un enankad bras a c’hell padout hiroc’h c’hoazh ha goulenn muioc’h a vemor eget unan bihan.

Meur a vevenn a chom :

N’eo ket pemp gwech buanoc’h kregiñ gant pemp labourer diverkañ evit pemp skeudenn. Ar memes mekanik a rann al labourerien. Ar postoù kenstur a c’hell kendivizout evit ledander ar memor hag ar binvioù seveniñ, tra ma c’hall pep skouerenn skouer dougen e goust memor e-unan.

Kenlabourus eo ar c’hemennadennoù war an araokadennoù

Un implijad a c’hell kas kemennadennoù statud, met ne oar ket ent emgefre peseurt dregantad araokaat a vo reizh. Pellgargañ ar patrom, arloañ an amzer-da-zont, prientiñ an enporzhiañ, an diverrañ, an amdreiñ maskl hag ar skeudenniñ rakweled a zo fazennoù distag gant amzerioù disheñvel.

Lod fazennoù o deus niveroù octetoù muzuliañ. Ur patrom hepken a c’hell lakaat war wel “kroget” ha “echu” hepken. Ur c’hard eeun a ya war-raok en un doare unvan a c’hell neuze bezañ kosmetek kentoc’h eget ur muzuliadenn resis.

An etrefas implijer araokaat talvoudus a anv ar prantad pa vez tu : prientiñ ar patrom, tretañ ar skeudenn pe sevel disoc’hoù. Ober a ra ivez war-dro ar c’hwitadenn hag an nullañ e-lec’h lezel ur spinner hep displegadenn ebet.

Nullañ zo muioc’h eget kuzhat ur spinner

Ma serr an arveriad ur skeudenn pe ma krog en-dro e c’hall an etrefas leuskel a-gostez ar respont a zeu eus ar goulenn diamzeret. Evit paouez gant an urzhiataerezh diazez diouzhtu e c’hallfe bezañ ezhomm eus skoazell ouzhpenn eus an amzer-da-zont pe termeniñ hag adkrouiñ al labourer.

Divizout eo termeniñ un implijad, met dilezel a ra e stad kentañ. Marteze e vo ret d’al labour da heul kargañ ha loc’hañ ar patrom en-dro. Evit un oberiadenn berr e c’hall bezañ marc’hadmatoc’h merkañ an disoc’h eget diskar pep tra.

An dibab reizh a zalc’h ouzh gwask ar memor, padelezh an obererezh hag ar barregezhioù amzer-da-zont. Diwar savboent an implijer, ar reolenn bouezusañ eo ne rank ket al labourioù diamzeret dreistskrivañ ar c’hemm bremanel.

Ret eo d’ar fazioù treuziñ an harzoù ivez

Un diforc’h e-barzh ur labourer ne zeu ket da vezañ un diforc’h normal evit an teul pennañ. Ret eo d’al labourer kelaouiñ fazioù implijus, ha ret eo d’an embanner selaou evit fazioù live al labourer.

Un doare mat da dreiñ fazioù a ziforc’h da nebeutañ :

Aesoc’h eo ober gant se eget ur “un dra bennak a zo aet en-dro fall” dre vras, dreist-holl pa vez diskoulmoù disheñvel gant ar c’hefluniadur kentañ hag ar c’hefluniadur skeudennoù reizh.

Ur maskl kentañ hepken eo disoc’h al labourer c’hoazh

N’eo ket gwellaet gant an arkitektouriezh neudenn un ed dister e-unan. Gallout a ra al labourer distreiñ ur maskl reizh teknikel ha n’eus ket c’hoazh blev, danvez treuzwelus, bandennoù strizh pe ur skeud a fell dezhañ. Goulennoù rannañ ha youl eo ar re-se.

Adkregiñ a ra labour an embanner goude an diverrañ : skeulaat ar maskl er reizhiad kenurzhiennoù oberiant, kempenn ur rakweled, lezel an arveriad da reizhañ anezhañ, hag ezporzhiañ ar stad bremanel. Mask resolution vs size preview a zispleg perak ne zlefe ket ar reizhiadoù kenurzhiennoù-se bezañ kemmesket.

Ur patrom speredel berr

Sellit ouzh al labourer evel ouzh un arbennigour lec’hel a-dreñv ur prenestr kemennadennoù :

Evit gwel ar patrom eus ar pikseloù o-unan, kendalc’hit gant Petra a wel ur patrom troc’het war an dafariad. Evit ur sell hollek pleustrek penn-da-benn, gwelit Penaos e ya en-dro an dilemel drekleur lec’hel.

Kenderc'hel da ergerzhout

Dedennus