Cum să împărțiți un scenariu lung în părți ale stivei în limba rusă

Pentru a asigura o animație lină, ar trebui să fie acceptată o mare (60) fps. Pentru aceasta, după cum se spune, este necesar ca scenariul să fie împărțit în bucăți în 10 milisecunde. Nu înțeleg ce se înțelege prin cuvintele "rupe scenariul în părți"? Un script este o secvență de instrucțiuni și instrucțiunile sunt separate printr-un punct și virgul unul de altul. Aceasta este, scenariul este o secvență de piese-instrucțiuni separate inițial. Browserul a executat o instrucțiune și urmărește IMEDIAT următoarea. După ce scrieți aproximativ 10 milisecunde, se dovedește că puteți cumva "împacheta" instrucțiunile, astfel încât instrucțiunile să "se împacheteze" pentru a efectua. Cum se face acest lucru? Între aceste pachete de goluri sunt temporare? cum să înțelegeți că un "pachet" (set) de instrucțiuni este separat de un alt "pachet" de insturtsii? Am doar o singură idee cum să separăm două seturi de instrucțiuni - aceasta este de a sparge un set într-o funcție, iar alta în al doilea, cu a doua funcție numită SetTimeout. Nu mai există idei. Când cronometrele încep să fie utilizate într-un script, iar scriptul este complex, puteți foarte ușor să fii confuz în scenariu.

presetate 14 Aug '16 la 20:47

Execuția scriptului apare de obicei în mod sincron. În timpul execuției sincrone, toate acțiunile din browser sunt blocate complet până când scriptul se termină. Nu puteți cu această abordare și să executați un scenariu lung și altceva în timp ce actualizați. Va trebui să așteptați până când întregul script este executat pe deplin.

FPS - Cadru pe secundă - de câte ori pe secundă ecranul este redesenat, adică ceva a fost actualizat dacă este necesar. De aceea, de fapt, trebuie să executați un set de instrucțiuni, să întrerupeți browserul pentru a analiza / aplica instrucțiunile și apoi să rulați din nou porțiunea următoare a instrucțiunilor sincrone. Pentru aceasta, sunt utilizate funcții sincrone asincrone. Un exemplu tipic este setTimeout și SetInterval. Și, de asemenea, o varietate de evenimente de browser.

Pentru un exemplu de listă exemplificativă a evenimentelor asincrone, puteți citi acest articol: ruseller: Bazele construirii aplicațiilor asincrone

De asemenea, puteți lua în considerare cazul tipic de animație sau o opțiune mai ușoară decât contorul, care ar înțelege întreaga esență a evenimentelor. De fapt, contorul, acesta este doar un caz tipic de valorificare.

Opțiunea sincronă nu va funcționa.

Atenție vă rog! Scriptul de mai jos, după ce ați făcut clic pe butonul, va susține o pagină sau chiar întregul browser.

Dar utilizarea evenimentelor asincrone va funcționa corect și, în mod normal, va actualiza pagina în browser, deoarece acestea nu blochează executarea firului până la lansare.







Articole similare

Trimiteți-le prietenilor: