· kaynak Hacker News – Front Page (hnrss.org)
Chrome 155, Rust tabanlı decoder ile JPEG XL desteğini sunuyor
Chrome 155 artık JPEG XL görsellerini decode edebiliyor; bu, formatın benimsenmesi için önemli bir adım. Google, decoder'ı Rust ile geliştirdi ve JPEG'ye kıyasla %30–50 daha iyi sıkıştırma sunduğunu söylüyor.

Chrome 155, JPEG XL'i decode ediyor
Google'ın Chrome ekibi, tarayıcının 155 sürümünden itibaren JPEG XL formatındaki (.jxl) görselleri decode edebildiğini duyurdu. 6 Ekim'de yayımlanan Chrome for Developers blog yazısına göre JPEG XL, modern web ve fotoğrafçılık iş akışlarını hedefleyen yeni nesil bir görsel formatı. Öne çıkan vaatleri şöyle: eski JPEG'e kıyasla %30–50 sıkıştırma kazancı, lossless modlar, yerleşik HDR desteği, mevcut JPEG dosyalarının lossless olarak dönüştürülmesi (transcoding) ve progressif decode.
Chrome ekibi bunu kazananın her şeyi alacağı bir karar olarak çerçevelemiyor. Önerileri, hem AVIF hem JPEG XL'i test etmek ve kullanım senaryosuna göre seçmek. JPEG XL'in en çok, fotoğrafların yüksek doğruluklu (high-fidelity) veya lossless sıkıştırmaya ihtiyaç duyduğu ya da progressif render'ın tercih edildiği yerlerde işe yarayacağını öngörüyorlar.
Neden Rust
Görsel decoder'ları tarayıcıdaki en çok saldırılan yüzeylerden birinde yer alır: ağdan doğrudan gelen karmaşık, güvenilmeyen ikili yapıları ayrıştırırlar ve renderer süreci içinde çalışırlar. Yazıya göre C++ gibi bellek güvenli olmayan dillerle yazılan decoder'lar geçmişte sınır dışı okuma (out-of-bounds read), heap taşması ve use-after-free hatalarına yatkın olmuştur.
Chrome'un mevcut savunmaları — sandbox, derinlemesine savunma (defense in depth) ve "rule of two" — sandbox'ı ikincil bir katman olarak görür. Bu hata sınıfını kaynağında ortadan kaldırmak için ekip, JPEG XL decoder'ının saf Rust ile yazılmış bir uygulaması olan jxl-rs'yi entegre etti.
Güvenli olduğu kadar hızlı yapmak
Bellek güvenli bir decoder, en iyi bellek güvenli olmayan alternatifle yaklaşık aynı hızda çalıştığında kolay bir tercih; ciddi bir performans cezası olsaydı olmazdı. Modern codec hızı büyük ölçüde SIMD donanımına dayanır. Bunun için ekibin, Rust'ın target_feature_11 özelliğinin stabilize olmasına ihtiyacı vardı; bu özellik unsafe kod olmadan SIMD talimatlarının kullanılmasına izin veriyor. Bunun üzerine, referans JPEG XL uygulaması olan libjxl için başlangıçta geliştirilen C++ kütüphanesi Highway'den ilham alan bir SIMD soyutlama katmanı olan jxl_simd'yi kurdular. Sonuç, SIMD optimizasyonlarını korurken unsafe işlemleri az sayıda dikkatle incelenmiş noktayla sınırlandıran çapraz platform bir kütüphane.
Yazı ayrıca, bölge sınırlarını aşan adımlar için, veri kopyalarını en aza indirmeyi ve donanımı tam olarak kullanmayı hedefleyen genel amaçlı bir işleme hattını (pipeline) anlatıyor. Donanım platformları arasındaki performans, jxl-rs performans panosunda herkese açık olarak izleniyor. Uygulama, fuzzing ve yapay zeka destekli kod incelemesiyle denetlendi; ekip, uygulamanın tüm geçmişi boyunca hiç bellek hatası bulunmadığını bildiriyor — bu da, onlara göre, Rust'ın bellek güvenliğine kattığının kanıtı.
Karar nasıl verildi
Chrome'a göre JPEG XL desteği kararı, hata raporları, anketler, Developer Signals Project ve Interop Project üzerinden toplanan geliştirici geri bildirimlerinden geldi; JPEG XL, 2026'da ve önceki yıllarda popüler bir öneriydi. Formatın tarayıcılar arasında çalışmasını sağlamak için ekip, JPEG XL özelliklerini tarayıcılarda test eden Interop 2026 JPEG XL Investigation'a katıldı; yazıya göre Chrome bu testleri geçiyor.
Blog, geliştiricilerin, içerik üreticilerinin ve platform sahiplerinin .jxl görsellerini ve animasyonlarını iş akışlarına dahil etmeye başlamasını ve hata bildirmesini öneren bir kapanışla bitiyor. Teşekkürlerde, Chrome entegrasyonu ve jxl-rs'ye katkılarından dolayı Helmut Januschka'nın yanı sıra jxl-rs'nin kendisi üzerindeki çalışmaları için Martin Bruse, Zoltan Szabadka, Sami Boukortt ve Wonwoo Choi'ye yer veriliyor.
Neden önemli
Tarayıcıda yerleşik decode desteği, her yeni görsel formatı için en büyük engel olageldi ve Chrome'un desteği varsayılan olarak sunması, JPEG XL'i bir deneyimden sitelerin gerçekçi biçimde sunabileceği bir şeye dönüştüren adım. Pratik kazanç payload'da: benzer kalitede JPEG'den belirgin şekilde daha küçük fotoğraflar, ayrıca lossless JPEG yeniden sıkıştırma — yani büyük mevcut fotoğraf arşivleri hiçbir kalite kaybı olmadan küçülebiliyor. Mühendislik yaklaşımı da önemli: bellek güvenli bir Rust decoder'ının unsafe kod olmadan codec düzeyinde hıza ulaşabileceğini göstermek, tarayıcıların gelecekte görsel ve medya parser'larını nasıl geliştireceğini şekillendirebilir.
- #jpeg-xl
- #chrome
- #rust
- #image-formats
- #web-performance