Valve migliora le prestazioni della libreria open-source Zink: OpenGL non è morta

OpenGLVulkan Divide CC

È da qualche tempo che non parliamo di Valve, la compagnia dietro ad Half-life e Steam, ma siamo felici di farlo per dimostrare come stia ancora investendo su GNU/Linux: la settimana scorsa un loro dipendente, Mike Blumenkrantz, ha introdotto delle ottimizzazioni alla libreria Zink (descritte qui da Phoronix), migliorandone le prestazioni e avvicinandosi di più a re-implementare OpenGL 4.x attraverso Vulkan.

Per chi non lo sapesse, Vulkan è una libreria grafica “erede” di OpenGL, introdotta per risolvere alcuni problemi che affliggono l’illustre API, ossia:

  1. Prestazioni diverse a seconda dell’implementazione del driver.
  2. Più attenzione al multithreading.
  3. Superamento del concetto di Macchina a Stati Finiti.

Questi obiettivi non sono ottenuti in maniera indolore: Vulkan è un’API di basso livello. Così di basso livello che disegnare un triangolo al centro dello schermo richiede un migliaio di righe di codice, contro il centinaio previsto con OpenGL.

Questo perché le funzionalità di OpenGL sono implementate dal driver fornito dal costruttore e sono di alto livello. Giusto per dare un esempio, considerate che quando compilate uno shader nel vostro programma OpenGL, ricevete anche gli eventuali errori di compilazione in un formato leggibile ai comuni mortali.

A questo, inoltre, si aggiunge un ovvio problema: OpenGL e Vulkan sono incompatibili e i vecchi software non possono utilizzare Vulkan se un apposito sistema di rendering non viene realizzato per loro. Ora capite quanto importante può essere Zink, se avete un programma che usa OpenGL e di cui avete paura di perdere la compatibilità in futuro.

Ma non si tratta solo di salvare vecchi programmi: OpenGL, come abbiamo detto prima, è facile al confronto di Vulkan: se dobbiamo renderizzare lo stato di un braccio meccanico o visualizzare l’inclinazione di un aereo, con OpenGL possiamo ottenere questo risultato in davvero poche righe.

Se a questo aggiungiamo che Zink è open-source e che si può estendere (a patto di conoscere Vulkan) diventa, quindi, non solo un modo per avere ancora OpenGL come strumento di sviluppo nel nostro cassetto, ma anche un modo per aggiornare in maniera indolore una libreria grafica che è vicina agli sviluppatori e che è davvero più che sufficiente nella maggior parte dei casi.

Jacopo Prendin

Appassionato di GNU/Linux dal 2000, tento disperatamente di tenermi distante dalla programmazione web e di sviluppare in C/C++ e Python i software che mi vengono commissionati.

Fonte: https://www.miamammausalinux.org/2023/06/valve-migliora-le-prestazioni-della-libreria-open-source-zink-opengl-non-e-morta/

Visited 19 times, 1 visit(s) today
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.