Renderer baru untuk GTK
(blog.gtk.org)Renderer baru untuk GTK
- Dua renderer baru untuk GL dan Vulkan ditambahkan ke GTK.
- Keduanya dinamai dengan menggunakan kembali nama yang sudah ada, yaitu "ngl" dan "vulkan".
- Keduanya dibangun dari sumber yang sama dan juga disebut renderer "terpadu".
Satu sumber
- Kedua renderer dibangun dari sumber yang sama dan dirancang dengan model yang mengikuti API Vulkan.
- Ini mencakup abstraksi untuk menutupi perbedaan antara Vulkan dan GL.
- Infrastruktur seperti penelusuran scene graph, pemeliharaan transformasi, serta cache tekstur dan glif dapat dibagikan.
- Ada kemungkinan untuk diperluas ke renderer berbasis Metal di macOS atau renderer berbasis DirectX di Windows.
Detail implementasi
- Renderer GL lama menggunakan shader sederhana dan bergantung pada rendering offscreen untuk konten yang kompleks.
- Renderer terpadu memiliki shader untuk setiap node, dan menggunakan shader kompleks yang menafsirkan data dari buffer alih-alih offscreen.
- Renderer terpadu kurang dioptimalkan, tetapi berfokus pada akurasi dan kemudahan pemeliharaan sehingga dapat menangani lebih banyak jenis pohon node render dengan tepat.
Fitur baru
- Antialiasing: renderer GL lama memiliki masalah kehilangan detail, tetapi renderer terpadu memperbaikinya melalui antialiasing.
- Penskalaan fraksional: renderer terpadu dapat menangani skala fraksional dengan benar.
- Gradien arbitrer: renderer terpadu dapat menangani gradien dengan titik warna tanpa batas.
- Dmabufs: renderer Vulkan dapat membuat dmabufs saat membuat tekstur melalui API
render_texture.
Hal yang perlu diperhatikan
- Node glshader tidak lagi didukung.
- Posisi fraksional: renderer baru menempatkan objek pada posisi yang akurat.
- Masalah driver: renderer baru menggunakan driver grafis dengan cara yang baru dan berbeda, sehingga masalah dapat muncul.
Apakah lebih cepat?
- Untuk saat ini, renderer baru belum lebih cepat.
- Renderer GL lama dioptimalkan untuk kecepatan, tetapi renderer baru menawarkan fitur baru dan akurasi.
- Dalam benchmark tidak resmi, renderer Vulkan menunjukkan kinerja yang mirip dengan renderer GL lama.
Default baru
- Dalam snapshot 4.13.6 yang baru diumumkan, renderer ngl ditetapkan sebagai default baru.
- Ini adalah langkah eksperimental, dan jika ada masalah dapat dikembalikan ke renderer GL lama.
Rencana dan kemungkinan ke depan
- Renderer baru menjadi dasar yang baik untuk mewujudkan pemrosesan warna yang layak termasuk HDR, path rendering di GPU, rendering di luar thread utama, peningkatan performa, dan lainnya.
Ringkasan
- Renderer baru memiliki fitur-fitur menarik, dan lebih banyak fitur akan ditambahkan.
- Pengguna diminta untuk mencoba renderer baru dan memberikan umpan balik tentang apakah itu bekerja dengan baik.
Pendapat GN⁺
- Renderer baru merupakan kemajuan penting yang memberi pengembang opsi rendering yang lebih akurat dan beragam.
- Pendekatan terpadu Vulkan dan GL memiliki potensi untuk meningkatkan kompatibilitas rendering di berbagai platform di masa depan.
- Kemajuan teknis seperti ini akan membantu meningkatkan pengalaman pengguna dan kualitas visual aplikasi.
1 komentar
Opini Hacker News