2D grafik oluşturma için Skia WebKitGTK ve WPEWebKit desteği eklendi

Skia logosu

Skia açık kaynaklı bir 2D grafik kütüphanesidir

Gelişme dünyasında web tarayıcıları ve masaüstü ortamları, optimizasyon ve performans bir en çok istenen özelliklerden kullanıcılar tarafından belirlenir ve bunlar kullanıcı deneyimini doğrudan etkileyen kritik unsurlardır ve bir web tarayıcısı seçerken ana faktörlerden biridir.

Bu içerikte, WPEWebKit ve WebKitGTK'nin arkasındaki geliştirme ekipleri (Safari ve Epiphany/GNOME Web gibi tarayıcılarda kullanılan tarayıcı motoru), Skia kütüphanesini kullanma yeteneğini dahil ettik 2D grafikleri oluşturmak için.

Son yıllarda, WebKit geliştiricileri performansı artırmak için çok çalışıyor WebKitGTK ve WPEWebKit grafiği. Rağmenve özellikler uygulandı iş parçacığı oluşturma ve VSync gibive CPU tabanlı 2D oluşturucunun sınırlarına ulaştığı ortaya çıktı Performans ve verimlilik açısından. Skia'yı tercih etmeden önce çeşitli seçenekleri araştırdıkları belirtiliyor. WebKitGTK tarafından kullanılan Kahire kitaplığına 2D GPU oluşturma yetenekleri ekleme girişimleri, kitaplığın mimarisindeki sınırlamalar nedeniyle başarısız oldu. Ayrıca, özel bir işleme kitaplığı geliştirme projesi, performans ile işleme kalitesi arasında denge kurmanın zorlukları nedeniyle terk edildi.

Kahire'nin GPU oluşturmayı desteklemesini sağlamaya yönelik bir girişimde bulunuldu; bu girişim pek iyi sonuç vermedi; çünkü kitaplık, PostScript modelini temel alan durum bilgisi olan bir işlem etrafında tasarlandı ve sonuçta mükemmel çıktı kalitesine sahip, ancak yeniden yönlendirilmesi zor, kullanışlı ve tanıdık bir API ortaya çıktı. ve bazı özellikle yavaş köşe kasalarıyla. Bu arada, diğer web motorları, birçok işlemin önemli ölçüde daha hızlı olduğu 2D oluşturma da dahil olmak üzere daha fazla işi GPU'ya kaydırdı.

Rağmen Skia'yı kullanma fikri başlangıçta reddedildi API kararlılığıyla ilgili sorunlar, harici bağımlılık olarak kullanılması ve WebKit'te üçüncü taraf bir modül bulundurma ihtiyacı nedeniyle, nihayet en uygun çözüm olarak kabul edildi WebKitGTK'da grafik oluşturma performansını iyileştirmek için.

Skia bir grafik kütüphanesidir Chrome, Firefox, ChromeOS, Android ve Flutter gibi çeşitli Google ürünlerinde kullanılır. Bu ekleme, grafik oluşturma performansını önemli ölçüde artırabilen GPU kullanılarak görüntü oluşturmaya olanak tanır.

Skia'ya geçiş, GNOME için WebKitGTK performansını optimize etme girişiminin bir parçası olarak Igalia tarafından gerçekleştirildi. Bu geçişin ana nedeninin CPU kullanarak 2D render performansını optimize etme sürecinde bir sınıra ulaşmak olduğu belirtiliyor. GPU'nun kullanılması, grafik oluşturma performansını artırmak için ek yetenek sağlar.

Skia'ya geçiş süreci Aralık 2023'teki dahili testlerle başladı İlk sonuçlar etkileyiciydi; özellikle masaüstünde performansta önemli gelişmeler hemen görüldü. Testler ilerledikçe Skia'nın yalnızca üstün performans sunmakla kalmayıp aynı zamanda kodu basitleştirip yeni işlevlere kapı açacağı da ortaya çıktı.

Yoğun bir gelişme döneminin ardından Şubat 2024'te ve test edilmesi, uygulanması Skia "yükseltilebilir" duruma ulaştı, bu da WebKitGTK ve WPEWebKit'e kamuya açık şekilde entegre edilmeye hazır olduğu anlamına geliyor; geliştirici topluluğunun ilk tepkisi olumluydu ve geçiş sürecinde önemli bir kilometre taşına işaret ediyordu.

Ekip, GPU oluşturma performansını ve verimliliğini daha da optimize etme planlarıyla birlikte WebKitGTK ve WPEWebKit'teki Skia uygulamasını geliştirmeye devam etmeye kararlıdır. Şu anda odak noktası WPE bağlantı noktası olsa da gelecekte GTK gibi diğer bağlantı noktalarının da Skia'dan destek alması bekleniyor.

Nihayet onun hakkında daha fazla bilgi edinmekle ilgileniyorsanayrıntılarını kontrol edebilirsiniz. sonraki bağlantı.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.