Menambahkan sokongan Skia WebKitGTK dan WPEWebKit untuk pemaparan grafik 2D

Logo Skia

Skia ialah perpustakaan grafik 2D sumber terbuka

Dalam dunia pembangunan pelayar web dan persekitaran desktop, pengoptimuman dan prestasi adalah yang daripada ciri yang paling diminta oleh pengguna dan ini adalah aspek kritikal yang secara langsung mempengaruhi pengalaman pengguna dan salah satu faktor utama apabila memilih pelayar web.

Dalam konteks ini, pasukan pembangunan di belakang WPEWebKit dan WebKitGTK (enjin penyemak imbas yang digunakan dalam pelayar seperti Safari dan Epiphany/GNOME Web), telah menggabungkan keupayaan untuk menggunakan perpustakaan Skia untuk membuat grafik 2D.

Selama tahun-tahun terakhir, Pembangun WebKit telah bekerja keras untuk meningkatkan prestasi Graf WebKitGTK dan WPEWebKit. Walaupundan ciri telah dilaksanakan seperti pemaparan berulir dan VSync, dan menjadi jelas bahawa pemapar 2D berasaskan CPU telah mencapai hadnya dari segi prestasi dan kecekapan. Disebutkan bahawa mereka meneroka pelbagai pilihan sebelum memilih Skia. Percubaan untuk menambah keupayaan pemaparan GPU 2D ke perpustakaan Kaherah, yang digunakan oleh WebKitGTK, tidak berjaya kerana pengehadan dalam seni bina perpustakaan. Selain itu, projek untuk membangunkan pustaka rendering tersuai telah terbengkalai kerana kesukaran untuk mencapai keseimbangan antara prestasi dan kualiti rendering.

Terdapat percubaan untuk menjadikan Kaherah menyokong pemaparan GPU, yang tidak berfungsi dengan baik kerana pustaka direka bentuk mengikut operasi stateful berdasarkan model PostScript, menghasilkan API yang mudah dan biasa, dengan kualiti output yang sangat baik, tetapi sukar untuk diorientasikan semula dan dengan beberapa kes sudut yang perlahan. Sementara itu, enjin web lain telah mengalihkan lebih banyak kerja kepada GPU, termasuk pemaparan 2D, di mana banyak operasi jauh lebih pantas.

Walaupun Idea untuk menggunakan Skia pada mulanya ditolak disebabkan oleh isu dengan kestabilan API, penggunaannya sebagai pergantungan luaran, dan keperluan untuk mengekalkan modul pihak ketiga dalam WebKit, akhirnya dianggap sebagai penyelesaian yang optimum untuk meningkatkan prestasi pemaparan grafik dalam WebKitGTK.

Skia ialah perpustakaan grafik digunakan dalam beberapa produk Google, seperti Chrome, Firefox, ChromeOS, Android dan Flutter. Penambahan ini membolehkan pemaparan menggunakan GPU, yang boleh meningkatkan prestasi pemaparan grafik dengan ketara.

Penghijrahan ke Skia telah dilakukan oleh Igalia sebagai sebahagian daripada inisiatif untuk mengoptimumkan prestasi WebKitGTK untuk GNOME. Disebutkan bahawa sebab utama di sebalik penghijrahan ini adalah untuk mencapai had dalam proses mengoptimumkan prestasi pemaparan 2D menggunakan CPU. Menggunakan GPU menyediakan keupayaan tambahan untuk meningkatkan prestasi pemaparan grafik.

Proses peralihan kepada Skia bermula dengan ujian dalaman pada Disember 2023 dan keputusan awal adalah mengagumkan, kerana peningkatan ketara dalam prestasi dilihat serta-merta, terutamanya pada desktop. Semasa ujian berlangsung, ternyata bahawa Skia bukan sahaja menawarkan prestasi unggul, tetapi juga akan memudahkan kod dan membuka pintu kepada fungsi baharu.

Pada Februari 2024, selepas tempoh pembangunan yang sengit dan ujian, pelaksanaan Skia mencapai keadaan "upstreamable", yang bermaksud bahawa ia telah bersedia untuk disepadukan ke dalam WebKitGTK dan WPEWebKit secara terbuka, dengan respons awal daripada komuniti pembangun adalah positif, menandakan satu peristiwa penting dalam proses peralihan.

Pasukan ini komited untuk terus menambah baik pelaksanaan Skia dalam WebKitGTK dan WPEWebKit pada masa hadapan, dengan rancangan untuk mengoptimumkan lagi prestasi dan kecekapan pemaparan GPU. Walaupun tumpuan pada masa ini adalah pada port WPE, dijangkakan port lain, seperti GTK, akan turut menerima sokongan daripada Skia pada masa hadapan.

Akhirnya sekiranya anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh menyemak butiran di pautan seterusnya.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.