macOS 10.14 Mojave: Metal soppianterà OpenGL e OpenCL

05 Giugno 2018 di Nikolas Pitzolu

Il nuovo macOS 10.14 Mojave è ambizioso nei piani di Apple: si stanno muovendo i primi passi verso una totale eliminazione di OpenGL e OpenCL per sostituirlo con Metal!

I tempi sono maturi per sostituire una colonna portante del codice che macOS (ma non solo) interpreta per far muovere le applicazioni che hanno all’interno un utilizzo di OpenGL e OpenCL.

Così come Swift – che Apple ha creato per svecchiare, velocizzare e rendere più appetibili le App per iOS – la società di Cupertino sta pian piano sostituendo le tecnologie di programmazione “terze” per dare la possibilità di far usare ai programmatori la sua: parliamo ovviamente di Metal.

Attualmente questo è un periodo di transizione dalle “vecchie” tecnologie alla nuove tecnologie o, per meglio dire, è un periodo per renderle più al passo con i tempi.

Ovviamente però, per un passaggio completo e tracciato, serve gradualità. Quella gradualità che è necessaria agli sviluppatori per allinearsi ma anche ad Apple di “abbandonare” OpenGL e OpenCL per sostituire e utilizzare le stesse istruzioni – trasposte – con Metal.

A riguardo, l’azienda ha dichiarato che lo sviluppo delle librerie per l’evoluzione sui proprio OS è terminato e che attualmente si sta solo supportando il codice con micro-ottimizzazioni se strettamente necessarie.

E questa tesi è confermata anche dai fatti: macOS High Sierra non ha ricevuto aggiornamenti a riguardo e la versione è sempre la 3.3 per quanto riguarda le OpenGL ed rimasta alla versione 4.6 per le OpenCL.

Da capire però che ne sarà dei linguaggi e delle API di terze parti. Anche perché alcuni team di sviluppatori non solo sono restii ad abbandonare le “vecchie” abitudini, ma pensano che delle API alternative possano essere una manna dal cielo per sviluppare alcuni tipi di Applicazioni in maniera indiopendente.

Ad esempio, le API Vulcan, che di recente sono state integrate tramite un’iniezione Open Source in iOS e macOS per sviluppare App cui sono integrate innesti di grafica tridimensionale, sono utili e dinamiche da utilizzare!

Insomma, lo scontro tra vecchio e nuovo in tutti i campi ed è inevitabile e in questo settore la velocità di rigenerazione è davvero alta, per non dire estrema. Più che altro c’è da capire perché Apple abbia tanta fretta e premura di portare all’abbandono le librerie OpenCL e OpenGL.

Infine vi lasciamo al documento ufficiale che spiega come Apple intende attualmente le “vetuste” tecnologie grafiche:

Le versioni delle App OpenGL e OpenCL create con OpenGL e OpenCL continueranno ad essere eseguite in macOS 10.14 Mojave, ma queste tecnologie legacy sono “deprecate” in macOS 10.14. Le app di giochi e grafica che attualmente utilizzano OpenGL ora dovrebbero iniziare a pensare di adottare Metal. Allo stesso modo, le app che usano OpenCL per attività computazionali dovrebbero iniziare da ora ad adottare Metal e Metal Performance Shaders. 

Metal è stato progettato da zero e cucito addosso al mondo Apple, per offrire il miglior accesso alle moderne GPU su dispositivi iOS, macOS e tvOS. Metal evita il sovraccarico inerente alle tecnologie legacy (OpenGL e OpenCL) ed espone le ultime funzionalità di elaborazione grafica tramite la documentazione di supporto. Il supporto unificato per la grafica e il calcolo in Metal consente alle tue app di utilizzare in modo efficiente le più recenti tecniche di rendering per impattare il meno possibile sull’ambiente di controllo.

Insomma, è chiaro e normale come Apple spinga le sue tecnologie ma escludendo così le tecnologie concorrenti!

REGOLAMENTO Commentando dichiari di aver letto e di accettare tutte le regole guida sulla discussione all'interno dei nostri blog.