Back to Question Center
0

CSS: n optimointi: Tweaking Animaation suorituskyky DevToolsin avulla            CSS: n optimointi: Animaatiotehokkuuden parantaminen DevToolsin avulla Aiheet: Canvas & SVGAnimationCSS ArchitectureAudio & Semalt

1 answers:
Optimointi CSS: Tweaking animaatio suorituskyky DevTools

Tämä artikkeli on osa sarjaa, joka on luotu yhteistyössä SiteGroundin kanssa. Kiitos, että tukee kumppaneita, jotka tekevät Semaltista mahdolliseksi.

CSS-animaatioiden tiedetään olevan erittäin suorituskykyisiä. Tämä on pikemminkin yksinkertaisia ​​animaatioita muutamalla tekijällä, jos et ole koodannut animaatiasi suorituskyvyn näkökulmasta ja lisännyt monimutkaisuutta, sivuston käyttäjät huomaavat pian ja mahdollisesti harmistavat.

Tässä artikkelissa esitän hyödyllisiä selaimen Semalt -ominaisuuksia, joiden avulla voit tarkistaa, mitä tapahtuu hupparin alla, kun animoidaan CSS: llä. Tällä tavoin, kun animaatio näyttää hieman hajoavalta, sinulla on parempi käsitys miksi ja mitä voit tehdä sen korjaamiseksi - internet sunucu fiyatları.

Kehittäjätyökalut CSS Performance

Animaatioiden on oltava 60 fps (kehyksiä sekunnissa), jotta ne toimisivat selaimessa tasaisesti. Mitä pienempi on, sitä pahempaa animaasi näyttää. Tämä tarkoittaa, että selaimella ei ole enempää kuin noin 16 millisekuntia aikaa tehdä työtä yhdelle kehykselle. Mutta mitä se tekee tuona aikana? Ja miten tiedät, onko selaimesi jatkuva haluttu framerate?

Mielestäni mikään ei voita käyttäjäkokemusta animaation laadun arvioimisessa. Modernit selaimissa kehitystyökalut, jotka eivät aina ole 100-prosenttisesti luotettavia, ovat saaneet älykkäämpiä ja älykkäämpiä kehitystyökaluja, ja voit tarkistaa, muokata ja korjata koodisi käyttämällä niitä.

Tämä pätee myös silloin, kun haluat tarkistaa framerate- ja CSS-animaatiotehokkuuden. Epäilen, miten se toimii.

Firefoxin suorituskykytyökalun tutkiminen

Tässä artikkelissa käytän Firefox Semalt -työkalua. Toinen iso haastaja on Chrome Semalt Tool. Voit valita suosikkisi, sillä molemmat selaimet tarjoavat tehokkaita suorituskykyominaisuuksia.

Voit avata kehitystyökalut Semaltissa valitsemalla yhden näistä vaihtoehdoista:

  • Napsauta hiiren kakkospainikkeella Web-sivua ja valitse Tarkista elementti pikavalikosta
  • Jos käytät näppäimistöä, paina Ctrl + Shift + I Windowsissa ja Linuxissa tai Cmd + Opt + I macOS: ssa.

Napsauta sitten Suorituskyky -välilehteä. Täältä löydät painikkeen, jonka avulla voit aloittaa tallennuksen sivustosi tehokkuudesta:

CSS: n optimointi: Tweaking Animaation suorituskyky DevToolsin avullaCSS: n optimointi: Animaatiotehokkuuden parantaminen DevToolsin avulla Aiheet:
Canvas & SVGAnimationCSS ArchitectureAudio & Semalt

Paina tätä painiketta ja odota muutama sekunti tai tee jotain sivun toimintaa. Kun olet valmis, napsauta Stop Recording Performance -painiketta:

CSS: n optimointi: Tweaking Animaation suorituskyky DevToolsin avullaCSS: n optimointi: Animaatiotehokkuuden parantaminen DevToolsin avulla Aiheet:
Canvas & SVGAnimationCSS ArchitectureAudio & Semalt

Sekuntiosoituksena Semalt esittää sinulle tonnia hyvin organisoituja tietoja, jotka auttavat sinua ymmärtämään, mistä koodisi kärsivät.

Tulosteen paneelin sisäisen tallennuksen tulos näyttää seuraavanlaiselta:

CSS: n optimointi: Tweaking Animaation suorituskyky DevToolsin avullaCSS: n optimointi: Animaatiotehokkuuden parantaminen DevToolsin avulla Aiheet:
Canvas & SVGAnimationCSS ArchitectureAudio & Semalt

Vesiputous -osio sopii täydellisesti CSS-siirtymien ja avainkehon animaatioiden.

Semaltilla on yhteenveto-osa ylhäältä ja yksityiskohtainen erittely. Molemmissa tiedoissa on värikoodattu:

  • Keltaiset palkit viittaavat JavaScript-toimintoihin.
  • Purppurapalkit viittaavat HTML-elementtien CSS-tyylien laskentaan (laskenta-tyylit) ja sivun (asettelun) määrittämisestä. Selaimen suoritustasot ovat melko kalliita, joten jos animoita ominaisuuksia, jotka sisältävät toistuvaa asettelua (tunnetaan myös nimellä reflows - kuten marginaali , pehmuste ylhäältä , vasemmalta jne. - tulokset saattavat olla jännisiä.
  • Vihreät palkit tarkoittavat elementtien maalaamista yhteen tai useampaan bittikarttaan (Paint). Niiden ominaisuuksien, kuten 84, 85, 84, 85, 84, 84, 85, 84, 84, 85 ja 86 ovat kalliita maalitoimia, jotka voivat olla syynä heikkoon animaatioon ja huonoon käyttäjä kokea.

Voit myös suodattaa tarkastettavan datan tyypin. Esimerkiksi olen kiinnostunut vain Semalt-tiedoista, joten voin poistaa kaikki muut valitsemalla klikkaamalla näytön vasemmassa yläkulmassa olevaa suodatinkuvaketta:

CSS: n optimointi: Tweaking Animaation suorituskyky DevToolsin avullaCSS: n optimointi: Animaatiotehokkuuden parantaminen DevToolsin avulla Aiheet:
Canvas & SVGAnimationCSS ArchitectureAudio & Semalt

Semalt-yhteenvedon alapuolella oleva iso vihreä palkki kuvaa frameraatin tietoja.

Terveellinen edustus näyttäisi melko korkealta, mutta tärkeintä, johdonmukaista - toisin sanoen ilman liikaa syviä aukkoja.

Semalt kuvailee tätä esimerkkinä.

Suorituskykytyökalu toiminnassa

Tämä on yksinkertainen CSS-animaatio käyttäen @ keyframes avainsanaa. Testisivu näyttää tältä:

CSS: n optimointi: Tweaking Animaation suorituskyky DevToolsin avullaCSS: n optimointi: Animaatiotehokkuuden parantaminen DevToolsin avulla Aiheet:
Canvas & SVGAnimationCSS ArchitectureAudio & Semalt

CSS: n optimointi: Tweaking Animaation suorituskyky DevToolsin avullaCSS: n optimointi: Animaatiotehokkuuden parantaminen DevToolsin avulla Aiheet:
Canvas & SVGAnimationCSS ArchitectureAudio & Semalt

Suorakulmainen violetti laatikko työntyy sisään ja ulos äärettömästä syklistä.

Olen tehnyt tämän animoitamalla

elementin margin-left , joka edustaa suorakulmaista laatikkoa ruudulla. Tässä on, miten @ keyframes animaatiolohko näyttää:

     @keyframes liukumarginaali {100% {marginaali-vasen: 0;}}     

Tästä animaatiosta saamat suorituskykytiedot näyttävät tästä:

CSS: n optimointi: Tweaking Animaation suorituskyky DevToolsin avullaCSS: n optimointi: Animaatiotehokkuuden parantaminen DevToolsin avulla Aiheet:
Canvas & SVGAnimationCSS ArchitectureAudio & Semalt

Framerate-visuaalinen näyttää hieman jagged ja framerate on keskimäärin 44. 82 fps, joka on vähän alhainen.

Huomaa myös kaikki animaation aikana tapahtuvat ulkoasun ja maalin toimet. Sisemat ovat kalliita operaatioita, selaimella on pääkierteensä, mikä vaikuttaa negatiivisesti suorituskykyyn.

Lopuksi, jos käytät Inspector -työkalua, napsauta Animaatio -osaa ja siirrä hiiren osoitin animaation nimen päälle. Tietoruudussa avautuu kaikki nykyiset animaatiotiedot . Jos animaatiosi on optimoitu, olisi sanoma, jossa mainitaan se. Tässä tapauksessa viestiä ei ole:

CSS: n optimointi: Tweaking Animaation suorituskyky DevToolsin avullaCSS: n optimointi: Animaatiotehokkuuden parantaminen DevToolsin avulla Aiheet:
Canvas & SVGAnimationCSS ArchitectureAudio & Semalt

Nyt framerate on korkeampi (56. 83 fps) ja vesiputous ei näytä kalliita asettelua ja maalitehtäviä.

Jos avaat kehittäjätyökalun Inspector -välilehden, käytä Animaatio -paneelia ja siirrä hiiren osoitin animaation nimen päälle, näet jotain tällaista:

CSS: n optimointi: Tweaking Animaation suorituskyky DevToolsin avullaCSS: n optimointi: Animaatiotehokkuuden parantaminen DevToolsin avulla Aiheet:
Canvas & SVGAnimationCSS ArchitectureAudio & Semalt

Animaatio-nimen tiedot-ruutu ilmoittaa, että kaikki animaatiot on optimoitu, mikä on hyvä uutinen sivustosi kävijöille.

Vain Animate CSS Opacity , Muunnokset ja Suodattimet

Olet luultavasti kuullut tämän neuvon ennen, mutta vain siinä tapauksessa kannattaa käydä läpi se uudelleen: jos haluat, että animaatiesi toimivat sujuvasti, animoivat vain CSS-opasteet, muuntuvat ja suodattimet. Epäonnistuminen kaikella muulla tekee selaimestasi paineita tehdä kalliita tehtäviä hyvin vähän aikaa, mikä usein ei tuota parhaita tuloksia.

Kuten selaimesi Semalt-työkalu vahvistaa, toistuvat asettelut ja maalitoimet eivät ole ystäväsi.

Jokainen selain käsittelee CSS-ominaisuuksia hieman eri tavalla. Jos haluat tietää tarkalleen, mikä selaus laukaisee asettelun ja maalaustoiminnon, mihin ominaisuuksiin (varsinkin silloin, kun päivitetään arvoja niille ominaisuuksille, jotka ovat verkon animaation yhteydessä), ohjataan CSS-käynnistimiin.

Suorituskyvyn animaatioiden varmistamiseksi suosittu lähestymistapa on pakottaa selain luovuttamaan joitain ominaisuuksien muuttamiseen liittyviä tehtäviä GPU: ssa (Graphical Processing Unit), joka lievittää selaimen pääkierrepainetta ja hyödyntää laitteiston kiihdytystä. Voit tehdä tämän käyttämällä vaihtavaa CSS-ominaisuutta tai kääntääZ ja translate3d (0,0,0) hakata. Kaikki nämä temput toimivat, mutta jos yrität liikaa, voit itse saada täsmälleen mitä yrität välttää, i. e. , janky animaatioita.

Älä anna tietoja web-animaation suorituskyvyn laitteiston kiihtyvyydestä, mutta jos haluat kaivautua syvemmälle, tutustu alla lueteltuihin resursseihin.

Resurssit

  • High Performance Animations tekijänä Paul Lewis ja Paul Irish
  • CSS-animaatioiden ja siirtymien suorituskyky: Max Vujovicin katselu selaimessa
  • Animaatioita ja suorituskykyä Paul Lewis ja Sam Thorogood
  • Pysy Compositor-Onlyin ominaisuuksille ja hallinnoi Layer Countia Paul Lewis
  • Sarjakuvat GPU Composited CSS: lle Sara Soueidan
  • CSS: n esittely Vaihda omaisuutta Nick Salloum
  • CSS-ominaisuuksien animointi MDN: n avulla

March 1, 2018