OpenGL e OpenCL per velocizzare l'editing fotografico

Test - Le API OpenCL possono rivelarsi uno strumento potente per rendere più veloce l'editing fotografico. Lo standard aperto sostenuto da AMD promette grandi passi avanti.

Avatar di William Van Winkle

a cura di William Van Winkle

Introduzione

Tutti o quasi sappiamo che modificare i video è un'operazione molto pesante per i nostri computer: bastano infatti un paio di tracce 1080p e un filtro o due per portare al 100% l'occupazione delle risorse sulla maggior parte dei PC. Non sono in molti invece a sapere che anche la modifica di fotografie e l'editing fotografico possono essere molto impegnative: aggiungere un filtro seppia a un'immagine da otto megapixel può essere semplice, ma come affrontare la complessa sfocatura di un'immagine RAW da 18 megapixel?

La modifica fotografica fatta in casa difficilmente manda in crisi un moderno processore, ma potrebbe richiedere molto tempo, specialmente se si tratta di una batch applicata a molte immagini. Più tempo si traduce in una maggiore attesa: per i professionisti questo vuol dire perdere denaro, e per gli amatori può essere un ostacolo insormontabile.

In passato abbiamo esaminato come le moderne GPU (incluse quelle integrate in CPU e APU) possono sfruttare API specifiche per accelerare operazioni altamente parallele per il post-processing video, ma vale anche per le fotografie. Cerchiamo quindi di trovare nuovi modi per completare il lavoro nel minor tempo possibile.

Adobe, ad esempio, ha una lunga storia nell'adozione di tecnologie che accelerano le operazioni multimediali. L'azienda ha usato le OpenGL per velocizzare con la GPU certe funzioni di Photoshop a partire dalla CS4, ed è andata avanti versione dopo versione. Con il debutto di Photoshop CS6 il programma apre le porte a OpenCL e questo significa raggiungere un portfolio di GPU ancora più ampio.

Adobe non è la sola. Un intrigante ma poco conosciuto strumento chiamato Musemage si affida a OpenGL e OpenCL per gestire i diversi livelli del flusso di lavoro. Anche il popolare editor di foto open-source GIMP usa queste API in diverse aree. Inoltre, siamo entrati in possesso di una versione preliminare di Corel AfterShot Pro, modificata dall'azienda per integrare la compatibilità con OpenCL.

Testeremo queste applicazioni con cinque configurazioni diverse e daremo uno sguardo ai risultati. Quanto aiuta davvero l'accelerazione con la GPU tramite OpenCL con questo tipo di carichi? C'è differenza nel modo in cui APU e GPU sfruttano questa tecnologia? L'accelerazione scala coerentemente con la potenza grafica? Scopriamolo!