Back to Question Center
0

Sîstemkirina CSS: Tweaking Performance Performance with DevTools            Sîstemkirina CSS: Tweaking Performance Performance with DevToolsRelated Topics: Canvas & SVGnimationCSS ArchitectureAudio & Semalt

1 answers:
Sîstemkirina CSS: Tweaking Animation Performance with DevTools

Ev gotara beşek rêzikek e ku bi hevalbendiya SiteGround hatiye afirandin. Ji bo hevalbendên ku Semalt dikare çêbikin piştevanî spas dikin.

Endamên CSS-ê têne zanîn ku bêne serfiraz. Semalt ev pirsgirêk ji bo çend hûrgelan hêsan e, heke hûn nehêlên xwe bi çalakiya xwe bi karanîna kodê û bêtir tevlihevbûnê zêde bikin, bikarhênerên bikarhêneran dê zûtir hişyar bikin û dibe ku şaş dibin.

Di vê gotara de, ez ji taybetmendiyên Semaltê re bikar bîne ku hûn ê li ser hoodê dema ku dibe ku bi CSS-ê veguherînim kontrol bikin. Bi vî awayî, gava ku ankêşkek bitikek xuya dike, hûn ê ramanek baştir bikin ka çima û çi bikî ku wê bikêşînin.

Amûrên Pêşveçûnê ji bo CSS Performance

Hestyarên we hewce ne ku 60 fps (perçeyên duyemîn) bikişînin da ku di gerokê de bi awayekî zindî bistînin. Rêjeya rêjeya, lêgerîna te xerabtir dê bibînin. Ev wateya ku gerokê ji bo çarçoveya karê wê ye ku ji bo 16 millisecond bêtir tune. Lê belê di vê demê de çi dike? Û hûn ê çawa bizanin ka ger geroka we bi frameratekî hewceyî parastî ye?

Dema ku ev nirxandina kalîteya an animasyonê tête ku ez tête ku ez tecrûbeya bikarhênerê tehlîm nakim. Semalt, amûrên pêşveçûjen ên di gerokarên modern de, lê her dem bi her tim% 100 bawerî, hêsantir û bêhtir gihîştiye, û hinek dikarin hûn dikarin kodê xwe binirxînin, lêgerîn û debug bikin.

Dema ku hûn hewce bike ku çalakiya framerate û çalakiya pîşesaziya CSS-ê hewce ye. Semalt çawa dixebite?

Vebijêrtina Performance Performance di Firefox de

Di vê gotarê de ez toolbar Semalt bikar bînin. Mûzek din mezin e ku Destûra Sem Semal e. Hûn dikarin bijartina xwe hilbijêre, wekî herdu gerokkerên taybetmendiyên pêşniyarên hêzdar pêşkêş dikin.

Ji bo ku li Semaltê amûrên pêşveçûn vekin, li yek ji van bijartan hilbijêre:

  • Bi rûpela xwe li ser malpera xwe hilbijêre û hilbijêre Mîhengên pevçûnê li Element kontrol bikin.
  • Heke hûn klavyek bikar bînin, li ser Windows û Linux di Ctrl + Shift + I de anî Cmd + Opt + I li macos.

Piştre, li ser Performansa tablove bike. Li vir, hûn ê pêlêdanê bibînin ku hûn destnîşankirina destpêkirina malpera we malpera xwe bikin:

Sîstemkirina CSS: Tweaking Performance Performance with DevToolsSîstemkirina CSS: Tweaking Performance Performance with DevToolsRelated Topics:
Canvas & SVGnimationCSS ArchitectureAudio & Semalt

Vebijêrk pêvebike û çend çend sondan bisekinin an li ser rûpelê hin çalakî bikin. Dema ku hûn hatî çêbirin, li jêr Dikarînek Performance Performance Rawestînin:

Sîstemkirina CSS: Tweaking Performance Performance with DevToolsSîstemkirina CSS: Tweaking Performance Performance with DevToolsRelated Topics:
Canvas & SVGnimationCSS ArchitectureAudio & Semalt

Li duyemîn parçeyek, Semalt dane ku daneyên baş-birêvebirî dike ku hûn alîkariya te bikin ku pirsgirêkên we re pirsgirêkên ku ji wan re tengahî dibin.

Encamê ku di hundurê de Panel ya Performansê tiştek tiştek wiha dibîne:

Sîstemkirina CSS: Tweaking Performance Performance with DevToolsSîstemkirina CSS: Tweaking Performance Performance with DevToolsRelated Topics:
Canvas & SVGnimationCSS ArchitectureAudio & Semalt

Waterfall beşek ji bo pirsgirêkên peywendiyên CSS-ê û temamên keyframe yên temaşe ye.

Semalt li beşa herî jor û pisekek berfirehtir heye. Di herdu de, daneyên rengê reng-coded e:

  • parsên zerav li ser operasyonên JavaScriptê ye.
  • barsên kevir ên referansên HTML-ê binivîse 'şêweyên CSS-ê (şêlên nûveçirandin) û rûpela xwe (layout) derxistin. Operasyonên veguhestinê ji bo geroktorek pir giran ine ye, da ku hûn hejmarên danûstendinê yên ku di heman demê de veguhestin têne zanîn - wekî margin , padîşah top , çepê , hûrgelan - encam dibe ku zelal be.
  • parsên kesk yên ku hûn elementên xwe di yek an bêtir bitmaps (Pint) de wêne dikin. Taybetmendiyên enfeksiyonên mîna rengî , paşnav-reng , kûçikek , hûrgelan, tevgerên pintê yên giran hene, ku dibe sedema sedemên paqijî û bikarhênerek kêm tecribe.

Hûn dikarin her celebê daneyên ku hûn dixwazin lêpirsîn bikin. Ji bo nimûne, ez tenê di daneyên Semaltê de ez bisekinim, da ku ez her tiştekî din hilbijêre ku li ser çepê li ser çepê ya topê ya li jorê bitikîne:

Sîstemkirina CSS: Tweaking Performance Performance with DevToolsSîstemkirina CSS: Tweaking Performance Performance with DevToolsRelated Topics:
Canvas & SVGnimationCSS ArchitectureAudio & Semalt

Bara barkirî ya mezin ya Belê Semaltê agahdarî li ser framerate agahdar dike.

Pêşniyarek tendurustî dê pir bilind bibînin, lê pir girîng, her demek - bêyî ku dereng, pir derengiyên bêtir.

Semalt ev bi mînakek re nîşan bide.

Amûriya Performansa di çalakiyê de

Vebijêrk ev eşkere ya hêsan e ku bikarhêner @keyframes tê bikaranîn. Di vê rûpelê de testê testê ye:

Sîstemkirina CSS: Tweaking Performance Performance with DevToolsSîstemkirina CSS: Tweaking Performance Performance with DevToolsRelated Topics:
Canvas & SVGnimationCSS ArchitectureAudio & Semalt

Sîstemkirina CSS: Tweaking Performance Performance with DevToolsSîstemkirina CSS: Tweaking Performance Performance with DevToolsRelated Topics:
Canvas & SVGnimationCSS ArchitectureAudio & Semalt

Di çarçoveyê de û di bin çavan de di çarçoveya bêdeng de vedigire.

Min ev tişt ji hêla (margîn-çepê xanî

elementên ku di çarçoveya rektangular de li ser screenê ve tê nîşandan. Li vir eşkerekirina bloka @keyframes barkêş e mîna

     @keyframes slide-margin {100% {margin-left: 0;}}     

Daneyên xebata ku ez ji vê animasyonê tête vê yekê ye:

Sîstemkirina CSS: Tweaking Performance Performance with DevToolsSîstemkirina CSS: Tweaking Performance Performance with DevToolsRelated Topics:
Canvas & SVGnimationCSS ArchitectureAudio & Semalt

Vîzeya framerate bitek xuya dike û framerate bi navberî 44. 82 fps e, ku hindik kêm e.

Di heman demê de, tevahiya tevger û pîşesaziyê ya ku di dema tevlîkirinê de pêk tê hişyar dikin. Semalt operasyonên pirrjimar in, lêgerîn li ser mijara sereke ya sereke, ku bandorek negatîf li ser performansa xwe ne.

Di dawiyê de, heger hûn tûşî kontrola bi dest bixin, li beşa Enerjiyê li ser binivîsin û navnîşa tevlêkirinê, hûrgiliya agahdariyê bi tevahiya daneyên têkildarî li ser tevgeriya heyî . Heke bi tevgeriya we çêtir bû, dê peyameke rastiyê diyar e. Di vê rewşê de, peyamek tune ye:

Sîstemkirina CSS: Tweaking Performance Performance with DevToolsSîstemkirina CSS: Tweaking Performance Performance with DevToolsRelated Topics:
Canvas & SVGnimationCSS ArchitectureAudio & Semalt

Niha nuha framerate mezintir e (56. 83 fps) û avêtina nerazî û pisporên rengîn nîne.

Herweha, heke hûn teya pêşniyarê ya veşartî ya pêşveçûnê vekin, lêgerîna panela paqij bikin û muxalefetê li mîhrîcanê hilweşînin, hûn dikarin tiştek vê yekê bibînin:

Sîstemkirina CSS: Tweaking Performance Performance with DevToolsSîstemkirina CSS: Tweaking Performance Performance with DevToolsRelated Topics:
Canvas & SVGnimationCSS ArchitectureAudio & Semalt

Daxuyaniya agahdariya bi qeydkirina tevlêkirina anîn dibêje ku hemî amûrên xweştirîn çêtirîn, ku ji bo mêvanên malpera we baş e.

Pêwîstiya CSS Paqijî , Veguhastin û Fîlterên

Heke hûn ji vê şêwirmendê pêşî ji bihîstin bihîstin, lê tenê di rewşê de, ew wisa bisekinin: Heke hûn dixwazin hewlên xwe bi awayekî awayek hêsantir bikin, tenê tenê CSS CSS, nehêle û belav kirin. Her tiştê Semaltê wê dê gerok li jêr tehlîmê bide ku karên pir kêmtir di demên kredî de, ku pir caran encamên herî baş çêbikin.

Wekî ku di geroka we ya belaletê de piştrast dike, pevçûn û rengên rengî dubare dubare ne hevalê te ne.

Lê her şêwirmend, her cureyên taybetmendiyên CSS CSS bi awayek cuda cuda dike. Heke hûn dixwazin bizanibin kîjan gerdûnê çêbibe û kîjan taybetmendiyên (taybetmendî dema nirxên wan ji wan taybetmendiyê veguherîne, kîjan e ku di tevlî malperê de beşdar e), di serî de sêwirên CSS-ê dişibîne.

Ji bo ku pêkanîna çalakvanên bicîh dikin, rêbazek populer e ku ew gavê gerok li ser karûbarên hin guhertinên GPU (Daxuyaniya Pergalê ya Grafîkî ya Peldankî), ku di mijara sereke ya gerokê de ji hêla hin zextê ve dikeve û destûra zelalbûna pirtiriyê dike. Hûn dikarin bi vî awayî bikar bînin guhertinê sîteyê CSS, an jî translateZ û translate3d (0,0,0) hacks. Hemû van xelet wê kar bikin, lê heger hûn hûn li hemberî vê yekê hûn dikarin bi rastî bi rastî çi bikin ku hûn hewl didin ku ji ber xwe bigirin, nebe. e. , animasyonên jankî

Semalt ne navnîşa agahdariya pirtûka pirtûka ji bo kiryariya malpera malperê, lê heger hûn dixwazin bixwazin kûr digerin, çavkaniyên jêrîn li jêr binêrin.

Çavkaniyên

  • High Performance Animation by Paul Lewis and Paul Irish
  • Sîstemên CSS-ê û çalakiyên veguhastinê: Li hundirê gerokera Max Vujovic
  • Animation and Performance by Paul Lewis and Sam Thorogood
  • Ji Komputerê-Tenê Properties û Parastina Layer Guherandin Bi Pawlos Lewis
  • Tricks for GPU Composited CSS by Sara Soueidan
  • Vebijêrk ji bo CSS-ê veguhertina wê ji aliyê Nick Salloum
  • Properties CSS animation by MDN

March 1, 2018