de achtergrond
Processing high resolution images is a demanding task requiring a modern computer. In terms of both memory and CPU power, getting the best out of a typical 15, 20 or 25 megapixel image can quickly take your computer to its limits.
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.