Schede Grafiche

Videogiochi OpenGL quindici volte più veloci: si può fare

Alla GDC 2014 non si è parlato solo di DirectX 12, ma anche di OpenGL. I dettagli non sono molti in questo momento, ma nella sessione riservata agli sviluppatori intitolata "Approching Zero Driver Overhead" si è andato parecchio sul tecnico, come potete controllare voi stessi dando un'occhiata alle slide pubblicate a questo indirizzo.

Fortunatamente qualche informazione più chiara è stata pubblicata da Nvidia a questo indirizzo, e si tratta di dati davvero interessanti. Secondo Ashu Rege di Nvidia si è parlato di come sia possibile usare soluzioni disponibili nelle OpenGL attuali per ridurre l'overhead legato ai driver di "10 o più volte".

"Con OpenGL, un standard aperto e neutrale, gli sviluppatori possono avere prestazioni nettamente superiori, fino a 1,3 volte. Con un po' di sforzo in più, è possibile ottenere prestazioni maggiori dalle 7 alle 15 volte. […] Le tecniche presentate si applicano a tutti i principali produttori e si possono usare su più piattaforme".

Sui sistemi desktop l'overhead dei driver può ridurre il frame rate, mentre sui dispositivi mobile non impatta solo sulle prestazioni, ma anche sull'autonomia. Insomma per AMD, Intel e Nvidia con gli accorgimenti giusti è possibile realizzare titoli OpenGL migliori e non vediamo l'ora di saperne di più.

Il Khronos Group, consorzio che gestisce l'evoluzione delle OpenGL, in questi giorni ha anche aggiornato le OpenGL 4.4, introducendo modifiche minori, e presentato le specifiche WebCL 1.0, dopo due anni di sviluppo. Si tratta dello standard che porta OpenCL all'interno del browser, consentendo l'uso di pesanti applicazioni web appoggiandosi all'hardware del computer. Pensiamo per esempio alla manipolazione di immagini direttamente online.

Al centro delle nuove specifiche c'è l'OpenCL 1.1 Embedded Profile, una versione ridotta delle OpenCL pensata per dispositivi embedded e non desktop dalle capacità ridotte. Questo significa che le WebCL non offrono tutte le caratteristiche delle OpenCL, ma un sottoinsieme utile allo scopo. Particolare attenzione, in questi due anni di sviluppo, è stata riposta sulla sicurezza, un tallone d'Achille iniziale delle WebGL.

Il consorzio, infine, ha annunciato anche SYCL 1.2, una specifica provvisoria pensata per fornire un abstraction layer per implementare C++ su OpenCL. "Con SYCL il Khronos Group sta cercando di risolvere una delle principali richieste da parte degli sviluppatori riguardo OpenCL, cioè consentire la programmazione OpenCL in C++", spiega Anandtech. Si tratta quindi di una miglioria destinata ai programmatori e favorevole ad esempio ad AMD. "Dato che OpenCL è una delle piattaforme principali pensata per esporre l'Heterogeneous System Architecture, avere C++ a disposizione di OpenCL a sua volta rende più facile usare C++ per accedere ad HSA", aggiunge il sito web.