Mengurangkan aliran semula adalah pilihan yang lebih baik, kerana kos lukisan semula agak kecil, manakala kos pengaliran semula adalah besar: 1. Apabila gaya penampilan elemen berubah, pelayar akan melukis semula elemen ini, tetapi susun atur tidak akan berubah; 2. Apabila atribut reka letak elemen berubah, penyemak imbas akan mengira semula atribut geometri elemen dan membina semula reka letak keseluruhan halaman.
Sistem pengendalian tutorial ini: sistem Windows 10, komputer Dell G3.
Alir semula, mengecat semula dan reka letak ialah langkah yang berbeza dalam proses pemaparan halaman web dan ia mempunyai kesan yang berbeza pada prestasi tapak web.
Lukis Semula: Apabila gaya penampilan (seperti warna, latar belakang) elemen berubah, penyemak imbas akan melukis semula elemen ini, tetapi reka letak tidak akan berubah. Overhed prestasi lukisan semula agak kecil dan tidak akan menyebabkan perubahan reka letak halaman.
Reflow: Apabila sifat susun atur elemen (seperti kedudukan, saiz) berubah, penyemak imbas akan mengira semula sifat geometri elemen dan membina semula reka letak keseluruhan halaman. Reflow mempunyai overhed prestasi yang besar, akan menyebabkan halaman disusun semula dan elemen lain juga mungkin terjejas.
Jadi, overhed lukisan semula agak kecil, manakala overhed pengaliran semula adalah besar. Secara umumnya, mengurangkan aliran semula ialah pilihan yang lebih baik kerana ia mempunyai kesan yang lebih besar pada prestasi halaman.
Berikut ialah beberapa cara untuk mengurangkan aliran semula:
Gunakan animasi CSS3: Animasi CSS3 menggunakan pecutan GPU, yang boleh mengurangkan bilangan aliran semula.
Pengubahsuaian kelompok gaya: elakkan kerap mengubah suai gaya satu elemen, sebaliknya kumpulkan berbilang pengubahsuaian bersama untuk mengurangkan bilangan aliran semula.
Gunakan serpihan dokumen maya (Pecahan Dokumen): Dengan mencipta serpihan dokumen maya, lakukan operasi DOM dalam ingatan, dan akhirnya menambah serpihan dokumen pada halaman sekali gus, mengurangkan bilangan aliran semula.
Gunakan Transisi atau Transformasi CSS3: Sifat ini boleh memanfaatkan pecutan GPU dan mengurangkan bilangan aliran semula.
Elakkan penyegerakan paksa reka letak: dengan mengelakkan penggunaan beberapa sifat atau kaedah yang mencetuskan aliran semula, seperti offsetTop, offsetLeft, dsb.
Anda perlu memilih strategi pengoptimuman yang sesuai mengikut situasi tertentu. Jika anda hanya membuat beberapa pengubahsuaian gaya mudah, kos lukisan semula mungkin kecil, tetapi jika perubahan susun atur yang kompleks terlibat, anda perlu memberi perhatian untuk mengurangkan bilangan aliran semula.
Atas ialah kandungan terperinci Mana yang lebih baik, aliran semula atau lukis semula atau aliran semula?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!