O darktable pode usar aceleração de GPU via OpenCL para melhorar o desempenho.
O processamento de imagens em alta resolução é uma tarefa demandante, que requer um computador moderno. Tanto em termos de quantidade de memória como em termos de poder de CPU, conseguir o máximo de uma imagem de 15, 20 ou 25 Megapixels pode rapidamente levar seu computador ao seu limite.
Os requisitos do darktable não são exceção. Nossa decisão de não comprometer a qualidade do processamento leva a cálculos sendo feitos em números de ponto flutuante de 4x32 bits. Isto é mais lento que álgebra “ordinária” de inteiros com 8 ou 16 bits, mas elimina os problemas de quebra tonal ou perda de informação.
Muita otimização feita a mão foi investida para fazer o darktable tão rápido quanto possível. Se você usa uma versão do darktable em um computador moderno, não deve notar nenhuma “lentidão”. No entanto, há condições e alguns módulos em que você sentirá (ou ouvirá o barulho da ventoinha da sua CPU) quanto seu pobre processador de múltiplos cores tem que se esforçar.
É aí que entra o OpenCL, que permite que tomemos vantagem do enorme poder de processamento das placas gráficas. A demanda dos gamers por mundos detalhados em 3D em jogos modernos impulsionou o desenvolvimento de GPUs. ATI, NVIDIA e Co puseram poder de processamento enorme em suas GPUs para atender essas demandas. O resultado vem como placas gráficas modernas com GPUS altamente paralelizadas, para calcular rapidamente superfícies e texturas em altas frame rates.
Você não é gamer, e não toma vantagem desse poder computacional? Bom, deveria ao menos usá-lo no darktable! Para tarefas de cálculo de ponto flutuante altamente paralelas, as GPUs modernas são mais rápidas que as CPUs. Isto é especialmente verdade quando você quer fazer os mesmos poucos passos de processamento em alguns milhões de itens. Típico caso de uso: processar imagens de muitos megapixels.