de achtergrond
Het verwerken van afbeeldingen met een hoge resolutie is een veeleisende taak die een moderne computer vereist. In termen van zowel geheugen als CPU-kracht, kan jouw computer snel tot het uiterste gaan als je het beste uit een typische 15, 20 of 25 Megapixel afbeelding haalt.
De vereisten van darktable zijn geen uitzondering. Alle berekeningen worden uitgevoerd op 4 x 32bit floating point getallen. Dit is langzamer dan “gewone” 8 of 16 bit integer algebra, maar elimineert alle problemen van tonale onderbrekingen of verlies van informatie.
Er is veel optimalisatie doorgevoerd om darktable zo snel mogelijk te maken. Als je een huidige versie van darktable op een moderne computer uitvoert, merkt je mogelijk geen “traagheid”. Er zijn echter omstandigheden en bepaalde modules waar je zult voelen (of horen van het gehuil van je CPU-ventilator) hoeveel je arme multi-coreprocessor moet worstelen.
Dat is waar OpenCL om de hoek komt kijken. Met OpenCL kan darktable profiteren van de enorme kracht van moderne grafische kaarten. De vraag van gamers naar zeer gedetailleerde 3D-werelden in moderne shooters (evenals voor cryptocurrency-mining) heeft een snelle GPU-ontwikkeling bevorderd. AMD, NVIDIA en Co moesten enorme rekenkracht in hun GPU’s stoppen om aan deze eisen te voldoen. Het resultaat zijn moderne grafische kaarten met sterk parallelle GPU’s die snel oppervlakken en texturen kunnen berekenen bij hoge framesnelheden.
Ben je geen gamer en maak je geen gebruik van die kracht? Nou, dan moet je het in ieder geval in darktable gebruiken! Voor de taak van zeer parallelle drijvende-kommaberekeningen zijn moderne GPU’s veel sneller dan CPU’s. Dit is vooral het geval wanneer je dezelfde paar verwerkingsstappen miljoenen keren wilt herhalen. Typische gebruikssituatie: het verwerken van afbeeldingen met een hoog megapixels.