Выпущен фоторедактор darktable 0.9.3 с оптимизацией скорости обработки

Наконец-то выпущена новая версия фоторедактора darktable, которая вопреки изначальным планам содержит не новшества, а исправления и оптимизацию алгоритмов обработки фотографий.

Сезонный скриншот darktable 0.9.3

Речь идёт о примерно двукратном ускорении обработки при использовании оптимизированных модулей,  за что стоит поблагодарить Ростислава Подгорного, Брюса Гюнтера и Эдуарда Гомеса. Слово Ростиславу:

Если подытожить все основные источники оптимизации, самые впечатляющие результаты дала реорганизация вычислений. В основном это заключалось в предрасчете всего, что можно посчитать заранее, и упрощении формул.

Использование SSE дало 10-35% ускорения в разных случаях, чтобы посчитать все каналы одновременно или считать по 4 пикселя за раз. В некоторых случаях использующий SSE код получался медленнее, и приходилось отказываться от него, так что SSE — далеко не панацея и не всегда помогает.

В некоторых модулях помогла реорганизация использования памяти и приближенные вычисления там, где точность не критична. Также ускорение дало избегание ветвления внутри тела циклов.

Самая дешевая в плане усилий оптимизация заключалась в убирании ненужной конверсии из float в double и обратно (в градиентном фильтре это дало ускорение в два раза).

Итоги ускорения модулей таковы:

  • «Цветовой профиль камеры» стал на 40% быстрее
  • «Цветовой профиль вывода» стал на 20% быстрее;
  • «Баланс белого»  стал на 30% быстрее;
  • «Подавление шума в матрице» стал на 20% быстрее
  • «Градиентный фильтр» стал в 10 раз быстрее
  • «Зонная система» стал в 3 раза быстрее
  • «Резкость» стал на 40% быстрее;
  • «Цветовой контраст» стал на 35% быстрее;
  • «Вельвия» стал в 4 раза быстрее;
  • «Подавление шума (nlmeans)» стал на 40% быстрее;
  • «Эквалайзер» стал на 40% быстрее.

Остальные изменения:

  • новые предустановки в модулях раздельного тонирования, кривой тоновоспроизведения, эквалайзере и цветовых зонах;
  • обновлены внутренние копии LibRaw и Rawspeed;
  • внесены разные исправления.

Как обычно для скачивания доступен исходный код и сборки для Ubuntu в  PPA имени Паскаля. Кстати, на днях Паскаль выложил обновление в библиотеку своих скринкастов.

Ветка post-0.9 с разными новшествами и улучшениями в интерфейсе перенесена в master. Следующая версия программы, видимо, всё-таки будет основана уже на ней.

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*