Web Worker vaizdų apdorojimo pagrindai
Web Worker sunkius skaičiavimus nukelia nuo UI gijos, kad sąsaja liktų jautresnė apdorojimo metu.
Vaizdo duomenys vis tiek juda naršyklės viduje; pati ši architektūra nereiškia nuotolinio įkėlimo.
Pagrindinė gija turi sąsajos darbą
Naršyklės puslapis paprastai vykdo JavaScript pagrindinėje gijoje. Ta pati gija koordinuoja išdėstymą, piešimą ir įvestį. Jei ilgas skaičiavimas ją užima, paspaudimai vėluoja, animacija stringa, o naršyklė gali įspėti, kad puslapis nereaguoja.
Pranešimais paremta riba
Worker’is bendraujais pranešimai. pagrindinė gija siuntimo darbą; worker’is grąžina. Tai aiški riba, o ne „slaptas“ serverio kelias.
Vaizdo duomenų kopijavimas ir perdavimas
Dideli vaizdo buferiai gali būti kopijuojami arba perduodami. Perdavimas sumažina dubliavimą, bet reikalauja atsargaus nuosavybės valdymo. Vartotojui svarbu žinoti: tai vis dar vyksta įrenginyje.
Ką Easy Background Remover perduoda worker’iui
Praktiniame kelyje worker’iui perduodami vietinio apdorojimo duomenys — modelio skaičiavimams naršyklėje, ne nuotoliniam įkėlimui. Tikslus paketas priklauso nuo diegimo, bet tikslas tas pats: atskirti sunkų darbą nuo UI.
Worker’is skaičiavimo nepadaro momentinio
Atskirkite jautrumą nuo greičio. Worker’is padeda UI likti gyvam, bet pats modelio darbas vis tiek trunka. Silpname įrenginyje ar su dideliu vaizdu pauzė normali.
Progreso pranešimai yra bendradarbiavimas
Progreso juosta veikia tik tada, kai worker’is praneša etapus. Tai ne magija — tai sutartas grįžtamasis ryšys.
Atšaukimas — daugiau nei paslėpti sukimą
Atšaukimas turi sustabdyti darbą, ne tik paslėpti indikatorių. Priešingu atveju įrenginys ir toliau skaičiuoja fone.
Klaidos taip pat turi kirsti ribą
Worker’io klaidos turi grįžti į UI aiškia žinute. Tyliai „užstrigęs“ sukimasis blogiau už aiškų klaidą.
Worker’io išvestis vis dar tik pirmoji kaukė
Net greitas worker’io rezultatas yra juodraštinė kaukė. Kraštus vis tiek verta patikrinti ir prireikus patikslinti prieš eksportą.
Trumpas mentalinis modelis
Galvokite taip: UI lieka jautrus, skaičiavimas vyksta šalia, pikseliai lieka naršyklėje. Tai architektūra vietiniam greičiui ir privatumo paaiškinimui — ne pažadas, kad kraštai bus tobuli.