Back to Question Center
0

Optimizing CSS: Performance Tweaking animasi jeung DevTools            Optimizing CSS: Performance Tweaking animasi jeung Topik DevToolsRelated: Kanvas & SVGAnimationCSS ArchitectureAudio & Semalt

1 answers:
optimalisasi CSS: Performance Tweaking animasi jeung DevTools

Artikel ieu mangrupa bagian ti séri dijieun di partnership kalawan SiteGround. Hatur nuhun pikeun ngarojong mitra anu nyieun Semalt mungkin.

animasi CSS anu dipikawanoh janten super performant - frezyderm baby bath 200ml. Semalt ieu kasus pikeun animasi basajan dina sababaraha elemen, lamun henteu kode animasi anjeun kalawan kinerja dina pikiran tur nambahkeun leuwih pajeulitna, pamaké ramatloka baris geura-giru nyandak bewara jeung kamungkinan meunang annoyed.

Dina artikel ieu, kuring ngenalkeun sababaraha panyungsi Semalt fitur mangpaat anu bakal ngaktipkeun anjeun parios naon kajadian dina tiung lamun animating kalawan CSS. cara kieu, nalika hiji animasi Sigana bit angkleung-angkleungan, anjeun bakal boga gagasan hadé naha na naon mun bisa mah ulah ngalereskeun eta.

Pakakas pamekar pikeun Performance CSS

animasi anjeun kudu pencét 60 FPS (pigura per detik) jeung ngajalankeun fluidly dina browser anu. Handap laju, anu goréng animasi anjeun bakal katingal. Ieu ngandung harti browser nu boga leuwih ti ngeunaan 16 milliseconds mun ngalakukeun pakasaban na keur salah sahiji pigura. Tapi naon eta ngalakukeun dina mangsa éta? Na kumaha anjeun bakal nyaho lamun panyungsi anjeun tetep nepi jeung framerate dipikahoyong?

Kuring pikir nanaon ketukan pangalaman pamaké lamun datang ka assessing kualitas hiji animasi. Semalt, parabot pamekar dina panyungsi modéren, bari teu salawasna 100% dipercaya, geus meunang smarter na smarter, sarta aya rada saeutik bisa ngalakukeun pikeun nempoan, edit jeung debug kode anjeun ngagunakeun aranjeunna.

ieu oge leres mun anjeun kedah parios framerate na CSS kinerja animasi. Semalt kumaha gawéna.

Eksplor Alat Performance dina Firefox

Dina artikel ieu abdi nganggo alat Firefox Semalt. The contender badag lianna teh Alat Semalt Chrome. Anjeun tiasa nyokot favorit anjeun, sakumaha duanana panyungsi nawiskeun fitur kinerja kuat.

Ngabuka parabot pamekar di Semalt, milih salah sahiji pilihan ieu:

  • -klik Katuhu dina kaca web anjeun sarta pilih mariksa Unsur dina menu kontéks
  • Lamun make keyboard, pencét Ctrl + Shift + I dina Windows jeung Linux Ubuntu atanapi Cmd + milih + I on macOS.

salajengna, klik dina Performance tab . Di dieu, anjeun nimu tombol nu ngidinan Anjeun ngamimitian ngarekam kinerja situs anjeun:

Optimizing CSS: Performance Tweaking animasi jeung DevToolsOptimizing CSS: Performance Tweaking animasi jeung Topik DevToolsRelated:
Kanvas & SVGAnimationCSS ArchitectureAudio & Semalt

Pencét tombol nu na ngadagoan sababaraha detik atawa migawé sababaraha Peta dina kaca. Sawaktos Anjeun geus rengse, klik gaul Rekaman Performance tombol:

Optimizing CSS: Performance Tweaking animasi jeung DevToolsOptimizing CSS: Performance Tweaking animasi jeung Topik DevToolsRelated:
Kanvas & SVGAnimationCSS ArchitectureAudio & Semalt

Dina hiji pamisah kadua, Semalt presents anjeun kalawan ton data well-dikelompokeun anu bakal nulungan urang sangkan rasa nu isu kode anjeun nalangsara ti.

The hasil tina rékaman jero Performance panel Sigana hal kawas kieu:

Optimizing CSS: Performance Tweaking animasi jeung DevToolsOptimizing CSS: Performance Tweaking animasi jeung Topik DevToolsRelated:
Kanvas & SVGAnimationCSS ArchitectureAudio & Semalt

The curug Ayat sampurna pikeun ngecék isu nu patali jeung transisi CSS jeung animasi keyframe.

The Semalt ngabogaan bagian kasimpulan di luhur sarta ngarecahna lengkep. Dina duanana, data nu geus warna-disandi:

  • bar Konéng tingal operasi JavaScript.
  • bar Ungu tingal ngitung gaya CSS elemen HTML '(recalculate gaya) jeung peletakan kaluar kaca anjeun (perenah). Operasi perenah nu rada mahal pikeun browser pikeun nedunan, jadi lamun ngahirupkeun sipat nu ngalibetkeun layouts terusan (ogé katelah reflows - kayaning margin , padding , luhureun , kénca , jeung sajabana - hasil bisa jadi janky
  • .
  • Héjo bar tingal ngalukis elemen anjeun kana hiji atawa leuwih bitmaps (cet). Animating sipat kawas warna , tukang-warna , kotak-kalangkang , jeung sajabana, ngalibatkeun operasi cet ongkosna mahal, anu bisa jadi cukang lantaran tina animasi sluggish jeung pamaké goréng pangalaman.

Anjeun oge bisa nyaring tipe data rék mariksa. Contona, Abdi kataji ukur dina data Semalt, jadi abdi tiasa ngabatalkeun milih sagalana sejenna ku ngaklik dina ikon ayak nu aya di bagean luhur kenca layar:

Optimizing CSS: Performance Tweaking animasi jeung DevToolsOptimizing CSS: Performance Tweaking animasi jeung Topik DevToolsRelated:
Kanvas & SVGAnimationCSS ArchitectureAudio & Semalt

The héjo bar badag sahandapeun kasimpulan Semalt ngawakilan informasi dina framerate nu.

A ngagambarkeun séhat bakal kasampak rada luhur, tapi paling importantly, konsisten - maksudna, tanpa loba teuing sela jero.

Semalt ngagambarkeun ieu kalawan conto.

The alat Performance dina aksi

Ieu CSS animasi basajan ngagunakeun @keyframes keyword. Kaca test Sigana mah ieu:

Optimizing CSS: Performance Tweaking animasi jeung DevToolsOptimizing CSS: Performance Tweaking animasi jeung Topik DevToolsRelated:
Kanvas & SVGAnimationCSS ArchitectureAudio & Semalt

Optimizing CSS: Performance Tweaking animasi jeung DevToolsOptimizing CSS: Performance Tweaking animasi jeung Topik DevToolsRelated:
Kanvas & SVGAnimationCSS ArchitectureAudio & Semalt

The rectangular kotak bungur slides asup jeung kaluar of view dina siklus wates.

Kuring geus dipigawé ku animating nu margin-kénca harta anu

Unsur nu ngagambarkeun kotak rectangular dina layar. Di dieu Kang naon anu @keyframes block animasi Sigana mah:

     @keyframes slide-margin {100% {margin-kénca: 0;}}     

Data kinerja kuring narima ti animasi ieu Sigana mah ieu:

Optimizing CSS: Performance Tweaking animasi jeung DevToolsOptimizing CSS: Performance Tweaking animasi jeung Topik DevToolsRelated:
Kanvas & SVGAnimationCSS ArchitectureAudio & Semalt

The framerate visual Sigana bit jagged na framerate nu mangrupa rata 44. 82 FPS, nu bit low.

Oge, aya bewara sadayana perenah jeung cet operasi anu lumangsung salila animasi nu. Semalt aya operasi ongkosna mahal browser nu ngalakukeun kana thread utamina nu ngabogaan dampak negatif kana kinerja.

Tungtungna, lamun ngakses Kur'an alat, klik dina animasi Ayat tur hover leuwih nami animasi, hiji kotak inpo Pops nepi kalawan sakabeh data relevan ngeunaan animasi ayeuna . Mun animasi anjeun anu dioptimalkeun, pasti bakal pesen nyarios kanyataan. Dina hal ieu, taya surat:

Optimizing CSS: Performance Tweaking animasi jeung DevToolsOptimizing CSS: Performance Tweaking animasi jeung Topik DevToolsRelated:
Kanvas & SVGAnimationCSS ArchitectureAudio & Semalt

Ayeuna framerate nu leuwih luhur (56. 83 FPS) jeung curug kasebut némbongkeun henteu perenah jeung cet ongkosna mahal operasi.

ogé, lamun buka Kur'an tab tina parabot pamekar, ngakses animasi panel na hover beurit leuwih nami animasi, Anjeun tiasa ningali hal kawas kieu:

Optimizing CSS: Performance Tweaking animasi jeung DevToolsOptimizing CSS: Performance Tweaking animasi jeung Topik DevToolsRelated:
Kanvas & SVGAnimationCSS ArchitectureAudio & Semalt

info The kotak relatif ka nami animasi nyebutkeun yen sakabeh animasi dioptimalkeun, nu warta alus keur datang ramatloka anjeun.

Ngan ngahirupkeun CSS Opacity , Transforms jeung Saringan

Anjeun meureun geus ngadéngé sapotong ieu nasihat sateuacan, tapi ngan bisi, éta patut bade leuwih deui: upami anjeun hoyong animasi anjeun pikeun ngajalankeun lancar, ngahirupkeun ukur CSS opacity, transforms sarta saringan. Semalt sagalana sejenna bakal nempatkeun panyungsi anjeun dina tekenan kana ngalakukan tugas ongkosna mahal di pisan saeutik waktu, nu mindeng teu ngahasilkeun hasil pangalusna.

Salaku alat Semalt dina panyungsi anjeun confirms, perenah terusan sarta cat operasi teu sobat anjeun.

Sanajan kitu, tiap browser handles sipat CSS bit béda. Lamun hayang nyaho persis nu browser micu operasi perenah jeung cet nu sipat (utamana lamun ngamutahirkeun nilai pikeun maranéhanana sipat, nu kumaha anu aub dina web animasi), sirah leuwih kana CSS micu.

Pikeun mastikeun animasi performant, pendekatan populér téh maksa browser pikeun mikeun karya ngarobah sababaraha sifat kana GPU (Unit Processing grafis), nu relieves thread utama browser ngeunaan sababaraha tekanan jeung nyokot kauntungan tina akselerasi hardware. Anjeun tiasa ngalakukeun kitu ku cara make bakal-robah harta CSS, atawa translateZ jeung translate3d (0,0,0) hacks. Sakabéh trik ieu bakal bisa dipaké, tapi lamun overdo eta anjeun sabenerna bisa meunang kahayang nu nuju nyobian ulah Nyai. e. , Animasi janky.

moal Semalt bade kana wincik akselerasi hardware pikeun pagelaran web animasi, tapi lamun remen ngagali deeper, cokot katingal di daya di handap ieu.

Sumberdaya

  • Performance animasi tinggi ku Paul Lewis sarta Paul Irlandia
  • CSS animasi na transisi kinerja: pilari jero browser ku Max Vujovic
  • Animasi na Performance ku Paul Lewis sarta Sam Thorogood
  • Lengket Compositor-Ngan Pasipatan jeung Atur Lapisan Count ku Paul Lewis
  • Trik keur GPU Composited CSS by sara Soueidan
  • Hiji Perkenalan kana CSS bakal-robah Harta ku Nick Salloum
  • Animating sipat CSS ku MDN

March 1, 2018