GTK için yeni render motorları
(blog.gtk.org)GTK için yeni render motorları
- GTK'ye GL ve Vulkan için iki yeni render motoru eklendi.
- Bunlar, mevcut adları yeniden kullanarak "ngl" ve "vulkan" olarak adlandırıldı.
- Aynı kaynaktan derlendikleri için "birleşik" render motoru olarak da anılıyorlar.
Tek kaynak
- İki render motoru da aynı kaynaktan derleniyor ve Vulkan API'sini izleyen bir modelle tasarlanmış durumda.
- Vulkan ile GL arasındaki farkları kapsamak için soyutlamalar içeriyor.
- Sahne grafiği dolaşımı, dönüşümlerin korunması, doku ve glif önbellekleme gibi altyapıların paylaşılmasını mümkün kılıyor.
- macOS'taki Metal tabanlı bir render motoruna veya Windows'taki DirectX tabanlı bir render motoruna genişletilme potansiyeli bulunuyor.
Uygulama ayrıntıları
- Mevcut GL render motoru basit shader'lar kullanıyor ve karmaşık içerikler için offscreen rendering'e dayanıyor.
- Birleşik render motoru, her düğüm için shader'lara sahip ve offscreen yerine tamponlardaki veriyi yorumlayan daha karmaşık shader'lar kullanıyor.
- Birleşik render motoru daha az optimize edilmiş olsa da doğruluk ve bakım kolaylığına odaklanarak daha çeşitli render düğümü ağaçlarını doğru biçimde işleyebiliyor.
Yeni özellikler
- Anti-aliasing: Mevcut GL render motorunda ayrıntı kaybı sorunu vardı; birleşik render motoru bunu anti-aliasing ile iyileştiriyor.
- Kesirli ölçekleme: Birleşik render motoru kesirli ölçekleri düzgün şekilde işleyebiliyor.
- İsteğe bağlı gradyanlar: Birleşik render motoru, sınırsız sayıda renk durağına sahip gradyanları işleyebiliyor.
- Dmabufs: Vulkan render motoru,
render_textureAPI'si üzerinden doku oluştururken dmabuf üretebiliyor.
Dikkat edilmesi gerekenler
glshaderdüğümleri artık desteklenmiyor.- Kesirli konumlar: Yeni render motoru nesneleri tam doğru konumlara yerleştiriyor.
- Sürücü sorunları: Yeni render motoru grafik sürücülerini yeni ve farklı şekillerde kullandığı için sorunlar ortaya çıkabilir.
Daha hızlı mı?
- Şimdilik yeni render motoru daha hızlı değil.
- Mevcut GL render motoru hız için optimize edilmiş durumda; yeni render motoru ise yeni özellikler ve doğruluk sunuyor.
- Vulkan render motoru, gayriresmî kıyaslamalarda mevcut GL render motoruna benzer performans gösteriyor.
Yeni varsayılan
- Kısa süre önce duyurulan 4.13.6 snapshot sürümünde
nglrender motoru yeni varsayılan olarak ayarlandı. - Bu deneysel bir adım; sorun çıkarsa mevcut GL render motoruna geri dönülebilir.
Gelecek planları ve olasılıklar
- Yeni render motoru; HDR dahil doğru renk işleme, GPU üzerinde path rendering, ana iş parçacığı dışında rendering ve performans iyileştirmeleri gibi hedeflerin hayata geçirilmesi için iyi bir temel oluşturuyor.
Özet
- Yeni render motoru ilgi çekici özellikler sunuyor ve gelecekte daha fazlası eklenecek.
- Yeni render motorunu denemeniz ve çalışıp çalışmadığına dair geri bildirim vermeniz isteniyor.
GN⁺ görüşü
- Yeni render motoru, geliştiricilere daha doğru ve daha çeşitli render seçenekleri sunan önemli bir ilerleme.
- Vulkan ile GL'nin birleşik yaklaşımı, gelecekte farklı platformlarda render uyumluluğunu artırma potansiyeli taşıyor.
- Bu teknik ilerleme, kullanıcı deneyimini iyileştirmeye ve uygulamaların görsel kalitesini yükseltmeye katkı sağlayacaktır.
1 yorum
Hacker News görüşleri
wgpu.rskullanıldığında DirectX ve Metal desteğinin bedavaya geldiğinden bahsediliyor.