DarkTable

Всего 746 сообщ. | Показаны 181 - 200
Re[bgrin]:
Цитата:

от:bgrin
Разродился ещё одной заметкой по Darktable:
DarkTable для чайников. Один из способов подавления шума в DarkTable
Замечания, дополнения приветствуются. :)

Подробнее

Почитал заметку о вашем мальчике. Неплохая. Но мне показалось маловатой. Не в смысле подавления шума, а в смысле хотелось бы про что другое узнать ещё.
Re[Rafael Fomenko]:
Понятие "другое" - очень обширное. Можно по конкретнее? :)
Я сам только изучаю Дарктейбл, делюсь, тем что постиг. Если есть интересные, на твой взгляд темы, вопросы, озвучь. Очень возможно, что мне это тоже будет интересно и я займусь этим.
Re[bgrin]:
Цитата:

от:bgrin
Понятие "другое" - очень обширное. Можно по конкретнее? :)
Я сам только изучаю Дарктейбл, делюсь, тем что постиг. Если есть интересные, на твой взгляд темы, вопросы, озвучь. Очень возможно, что мне это тоже будет интересно и я займусь этим.

Подробнее

Ну для начала можно бы было вот это рассмотреть:
8.2.6. OpenCL performance optimization

There are some configuration parameters in $HOME/.config/darktable/darktablerc that help to finetune your system's OpenCL performance. Performance in this context mostly means the latency of darktable during interactive work, i.e. how long it takes to reprocess your pixelpipe. For a comfortable workflow it is essential to keep latency low.

In order to get profiling info you start darktable from a terminal with
[quot]darktable -d opencl -d perf[/quot]


After each reprocessing of pixelpipe - caused by module parameter change, zooming, panning, etc. - you will get the total time and the time spent in each of our OpenCL kernels. The most reliable value is the total time spent in pixelpipe. Please note that the timings given for each individual module are unreliable when running the OpenCL pixelpipe asynchronously (see opencl_async_pixelpipe below).

To allow for a fast pixelpipe processing with OpenCL it is essential that we keep the GPU busy. Any interrupts or a stalled data flow will add to the total processing time. This is especially important for the small image buffers we need to handle during interactive work. They can be processed quickly by a fast GPU. However, even short-term stalls of the pixelpipe will easily become a bottleneck.

On the other hand darktable's performance during file exports is more or less only governed by the speed of our algorithms and the horse-power of your GPU. Short-term stalls will not have a noticeable effect on the total time of an export.

darktable comes with default settings that should deliver a decent GPU performance on most systems. However, if you want to fiddle around a bit by yourself and try to optimize things further, here is a description of the relevant configuration parameters.

Взято отсюда: http://www.darktable.org/usermanual/ch08s02s06.html.php
Re[Rafael Fomenko]:
Так глубоко я не копал. Да и нет у меня AMD-шной видяхи. Тем не менее, для начала, можно тупо воспользоваться хромовским переводчиком:
[quot]8.2.6. ОПТИМИЗАЦИЯ ПРОИЗВОДИТЕЛЬНОСТИ OPENCL
ПРЕДЫДУЩАЯ 8.2. DARKTABLE И OPENCL СЛЕДУЮЩИЙ
8.2.6. Оптимизация производительности OpenCL
Есть некоторые параметры конфигурации в $ HOME / .config / Darktable / darktablerc, которые помогают в регулировании OpenCL производительность системы. Производительность в этом контексте в основном означает задержку Darktable в процессе интерактивной работы, т.е. сколько времени требуется, чтобы перерабатывать свой Pixelpipe. Для комфортного рабочего процесса важно, чтобы держать задержки минимума.

Для того, чтобы получить профилирования информации вы начинаете Darktable из терминала с

darktable -d opencl -d perf

После каждого переработка Pixelpipe - в связи с изменением параметров модуля, масштабирование, панорамирование и т.д. - вы получите общее время работы и время, проведенное в каждой из наших OpenCL ядер. Самый надежный значение общее время, проведенное в Pixelpipe. Обратите внимание, что тайминги, данные для каждого отдельного модуля ненадежны при запуске Pixelpipe OpenCL асинхронно (см. opencl_async_pixelpipe ниже).

Чтобы разрешить для быстрой обработки Pixelpipe с OpenCL важно, что мы держим в GPU занят. Все прерывания или тупик поток данных будет добавить к общему времени обработки. Это особенно важно для маленьких буферов изображения, которые мы должны справиться в процессе интерактивной работы. Они могут быть быстро обработаны быстро GPU. Тем не менее, даже краткосрочные киосков в Pixelpipe легко стать узким местом.

На выполнение другой стороны Darktable во время экспорта файлов более или менее только регулируется скоростью наших алгоритмов и лошадиных сил вашего GPU. Краткосрочные киосков не будет иметь заметного влияния на общее время экспорт.

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

opencl_async_pixelpipe
Этот логический контроль флаг, как часто мы блокируют Pixelpipe OpenCL и получить статус на успех / провал всех ядер, которые были бежать. Для оптимальной задержки установить это правда, так Darktable трасс Pixelpipe асинхронно и пытается использовать как несколько прерываний, насколько это возможно. Если у вас возникли ошибки OpenCL как неудовлетворительную ядер, установите параметр ЛОЖЬ. Darktable будет прерывать после каждого модуля, чтобы вы могли более легко локализовать проблему. Проблемы были зарегистрированы с некоторыми старыми картами ATI / AMD, как HD57xx, которые могут производить искаженную выход, если этот параметр установлен в значение TRUE. Если вы сомневаетесь, оставить его на своем по умолчанию False.

opencl_number_event_handles
Условия для проведения мероприятий ручки используются, чтобы мы могли следить за успех / провал ядер и профилирования информации, даже если Pixelpipe запускается асинхронно. Количество ручек событий является ограниченным ресурсом вашего драйвера OpenCL. Наверняка мы можем утилизировать их, но есть ограниченное количество, что мы можем использовать в то же время. К сожалению, нет никакого способа, чтобы выяснить, какие ограничения на ресурсы являются; поэтому мы должны угадать. Наша значение 25 по умолчанию довольно консервативен. Вы можете попробовать, если более высокие значения, как 100 дают более высокую производительность OpenCL. Если ваш драйвер исчерпывает бесплатно обрабатывает вы испытали бы провала попытки OpenCL ядра с кодом ошибки " -5 (CL_OUT_OF_RESOURCES) " или даже аварии или система зависает; сократить количество раз в этом случае. Значение 0 будет блокировать Darktable использовать любые ручки событий. Это позволит предотвратить Darktable от правильно мониторинга успех ваших OpenCL ядер, но сохраняет некоторые накладные расходы водителя. Следствием является то, что любые неудачи, скорее всего, приведет к искаженной выхода без Darktable замечая; рекомендуется только если вы точно знаете, что ваша система работает скала. Вы также можете установить этот параметр в значение -1, что означает, что Darktable не несет никаких ограничений в количестве события обрабатывает; это не рекомендуется.

opencl_synch_cache
Этот параметр, если установлен в TRUE, заставит Darktable принести буферы изображения с вашего GPU после каждого модуля и хранить их в своей Pixelpipe кэша. Это очень ресурсоемкой операции. Это имеет смысл только если у вас есть довольно медленно GPU. В этом случае Darktable может на самом деле сэкономить время, когда параметры модуля изменились, так как это может вернуться к некоторым кэширования промежуточного состояния и перерабатывать только часть Pixelpipe. В большинстве случаев этот параметр должен быть установлен в FALSE (по умолчанию).

opencl_micro_nap
В идеальном случае вы держите свой GPU занят на 100%, когда переработку Pixelpipe. Это хорошо. С другой стороны ваша GPU также необходимо сделать регулярные обновления GUI. Может случиться, что нет достаточно времени для выполнения этой задачи. Следствие будет реакцией отрывистые вашего GUI на панорамирования, масштабирования или при перемещении, сдвигов. Darktable можете добавить небольшие дремоты в ее переработки Pixelpipe иметь ГПУ наловить дыхание и сделать GUI связанные вещи. Параметр opencl_micro_nap контролирует продолжительность этих снов в микросекундах. Вы должны экспериментировать, чтобы найти оптимальное значение для вашей системы. Значения 0, 100, 500 и 1000 являются хорошие отправные точки, чтобы попробовать. По умолчанию 1000.

opencl_use_pinned_memory
Во плитки огромные объемы памяти должны быть переданы между хостом и устройством. На некоторых устройствах (а именно AMD) прямые трансферты памяти и из произвольной области памяти хоста может дать огромный снижение производительности. Особенно это заметно при экспорте больших изображений. Установка этого параметра конфигурации к истинному говорит Darktable использовать особый вид промежуточного буфера для хост-устройств передачи данных. На некоторых устройствах это может ускорить экспорт больших файлов с коэффициентом от 2 до 3. Устройства и драйверы NVIDIA, кажется, есть более эффективный способ передачи памяти даже для регионов произвольное памяти. Они могут доставить лучшую производительность, если opencl_use_pinned_memory остается на его по умолчанию False.

[/quot]
Re[bgrin]:
Жаль что глубоко не копал. Спасибо за перевод - читанул ещё раз теперь уже по русски. Меня больше интересовали те настройки - где их делать, или точнее сказать - каким образом :( Ладно. Проедем.

Тогда давай обсудим Дебаеризацию и особенно там те три режима работы с зелеными пикселями.
Re[Rafael Fomenko]:
Попробовал по включать эти режимы, покрутить настройки, никаких изменений не увидел.
Re[bgrin]:
Цитата:

от:bgrin
Разродился ещё одной заметкой по Darktable:
DarkTable для чайников. Один из способов подавления шума в DarkTable
Замечания, дополнения приветствуются. :)

Подробнее


В darktable, есть и другие инструмены подавления шумов. Например: Equalizer, Raw denoise
Re[bgrin]:
Цитата:
от: bgrin
Так глубоко я не копал. Да и нет у меня AMD-шной видяхи. Тем не менее, для начала, можно тупо воспользоваться хромовским переводчиком:


Перевод жесть! :D
Re[bgrin]:
Цитата:
от: bgrin
Попробовал по включать эти режимы, покрутить настройки, никаких изменений не увидел.

Вот я специально молчал об этом. Думал или я так сильно не присматриваюсь или равы с моего старенького фотоаппарата уже не вписываются в эту концепцию... А оно вон оно как. Конечно надо еще раз внимательно глянуть на 100% просмотре. Кстати, 100% просмотр как в Дарктабле включить :?:
Re[Jek_a]:
Цитата:
от: Jek_a
Перевод жесть! :D

Главное что я всё понял :D
Re[Rafael Fomenko]:
Цитата:
от: Rafael Fomenko
Кстати, 100% просмотр как в Дарктабле включить :?:


Верхний левый угол preview фотографии, есть drop down меню: small, 100%, 200% итд.

+ колесо мыши
Re[Rafael Fomenko]:
Цитата:
от: Rafael Fomenko
Главное что я всё понял :D


это самое главное :)
Re[Jek_a]:
О! Вот оно где!!! А я его потерял... :)
Re[bgrin]:
Цитата:
от: bgrin
Да и нет у меня AMD-шной видяхи.


GPU calculation работает не только на AMD/ATI картах, но и на Nvida.
Re[Rafael Fomenko]:
Цитата:
от: Rafael Fomenko
Ну для начала можно бы было вот это рассмотреть:
8.2.6. OpenCL performance optimization


Для работы OpenCL нужно:

1. Иметь AMD/ATI, NVIDIA или Co видеокарту.
2. На карте должно быть 1GB+ графической памяти, чтобы получить выгоду от использования OpenCL.
3. Установленные драйвера с поддержкой OpenCL.

Для точной настройки OpenCL в darktable:

1. В терминале набрать:

darktable -d opencl -d perf

В самом darktable открываем любой Raw file и пробуем делать обработку, параллельно смотрим на время обработки в терминале. Должно получиться что-то вроде:

[dev] took 0.000 secs (0.000 CPU) to load the image.
[pixelpipe_process] [full] using device 0
[pixelpipe_process] [preview] using device -1
[dev_pixelpipe] took 0.042 secs (0.053 CPU) processing `shadows and highlights' [full]
[dev_pixelpipe] took 0.028 secs (0.068 CPU) processing `sharpen' [full]
[dev_pixelpipe] took 0.026 secs (0.057 CPU) processing `output color profile' [full]
[dev_pixelpipe] took 0.004 secs (0.010 CPU) processing `overexposed' [full]
[dev_pixelpipe] took 0.020 secs (0.065 CPU) processing `gamma' [full]
[opencl_profiling] spent 0.0067 seconds in [Write Image (from host to device)]
[opencl_profiling] spent 0.0037 seconds in [Copy Image to Buffer (on device)]
[opencl_profiling] spent 0.0122 seconds in gaussian_column_4c
[opencl_profiling] spent 0.0042 seconds in gaussian_transpose_4c
[opencl_profiling] spent 0.0027 seconds in [Copy Buffer to Image (on device)]
[opencl_profiling] spent 0.0043 seconds in shadows_highlights_mix
[opencl_profiling] spent 0.0049 seconds in sharpen_hblur
[opencl_profiling] spent 0.0045 seconds in sharpen_vblur
[opencl_profiling] spent 0.0047 seconds in sharpen_mix
[opencl_profiling] spent 0.0090 seconds in colorout
[opencl_profiling] spent 0.0014 seconds in [Copy Image (on device)]
[opencl_profiling] spent 0.0071 seconds in [Read Image (from device to host)]
[opencl_profiling] spent 0.0654 seconds totally in command queue (with 0 events missing)
[dev_process_image] pixel pipeline processing took 0.121 secs (0.258 CPU)
[dev_pixelpipe] took 0.096 secs (0.233 CPU) processing `shadows and highlights' [preview]
[dev_pixelpipe] took 0.033 secs (0.070 CPU) processing `sharpen' [preview]
[dev_pixelpipe] took 0.027 secs (0.075 CPU) processing `output color profile' [preview]
[dev_pixelpipe] took 0.008 secs (0.022 CPU) processing `gamma' [preview]
[dev_process_preview] pixel pipeline processing took 0.288 secs (0.550 CPU)

То есть общее время на выполнение обработки Raw file составила 0.288 sec.

Для оптимизации - нам необходимо закрыть darktable и открыть следующий конфигурационный файл, любым текстовым редактором:

~/.config/darktable/darktablerc

~ - это ваша домашняя директория. Так как, директория имеет названия начинающегося с ".", то эта директория - скрытая. Если вы умеете работать с Vi (visual), то в терминале набираем следующею строку:

vi ~/.config/darktable/darktablerc

Делаем необходимые изменения в нем, например меняем вот это параметр на true:
opencl_async_pixelpipe=false

Сохраняем изменения. Отрываем darktable и повторяем те же операции, над тем же Raw file, что мы делали ранее и проверяем насколько оптимизировалось время выполнения. Если, нас не устраивает результат, то повторяем все выше перечисленные действия.

Как то так... Надеюсь помогло. :D

P.S. В итоге после нехитрых манипуляций мы получаем повышение производительности в 2 раза:

[dev_process_preview] pixel pipeline processing took 0.123 secs (0.269 CPU)
[opencl_summary_statistics] device 'Quadro FX 880M': 205 out of 205 events were successful and 0 events lost.
Re[Rafael Fomenko]:
Цитата:
от: Rafael Fomenko
... Кстати, 100% просмотр как в Дарктабле включить :?:

Нажатием на среднюю кнопку мыши один раз. Второе нажатие даёт 400%. Третье нажатие возвращает первоначальный вид.
По поводу трёх режимов зелёного, и их участия в шумоподавлении туториал где-то был ... тут тоже, вроде есть
http://www.youtube.com/watch?v=NjVwc0ccHEU

P.S. Если по-русски, это влияет на шумы, зависит от камеры. Нужно найти свой режим. Для моего 7д это "full average".
Re[Jek_a]:
А я, честно гря, не знаю, на моей GF 9600 с проприетарным драйвером используется ли OpenCL. Подозреваю, что нет.
Драйвер версии 319
Re[bgrin]:
Цитата:
от: bgrin
А я, честно гря, не знаю, на моей GF 9600 с проприетарным драйвером используется ли OpenCL. Подозреваю, что нет.
Драйвер версии 319


Да, у это видеокарты есть поддержка OpenCL. На ней 64 GPU (CUDA). Поддержка OpenCL в драйвера была добавлена в 2011.

Я использую 331.38.

Если в OS установлен драйвер от Nvidia, то у вас должна быть OpenCL библиотека:

ls -l /lib64/ | grep -i 'libopencl'

При запуске, darktable ищет эту библиотеку для активизации OpenCL.
Re[Jek_a]:
Попробовал.
Похоже, не помогло...
[dev_process_preview] pixel pipeline processing took 7.538 secs (12.533 CPU)
[dev_process_preview] pixel pipeline processing took 7.642 secs (12.517 CPU)
Скорее, наоборот.
А этот поиск
ls -l /lib64/ | grep -i 'libopencl'
ничего не показал.
Попробую, наверное обновиться, хоть и не хочется. Каждый раз это оборачивается геморроем с драйвером видео. Но надо...
Re[bgrin]:
Цитата:

от:bgrin
Попробовал.
Похоже, не помогло...
[dev_process_preview] pixel pipeline processing took 7.538 secs (12.533 CPU)
[dev_process_preview] pixel pipeline processing took 7.642 secs (12.517 CPU)
Скорее, наоборот.
А этот поиск
ls -l /lib64/ | grep -i 'libopencl'
ничего не показал.
Попробую, наверное обновиться, хоть и не хочется. Каждый раз это оборачивается геморроем с драйвером видео. Но надо...

Подробнее


Я привел пример с моей 64-bit OS.

Проверить, использует ли darktable OpenCL или нет, можно проверить начало вывода debug information in terminal, like that:

[opencl_init] trying to load opencl library: '<system default>'
[opencl_init] opencl library 'libOpenCL' found on your system and loaded
[opencl_init] found 1 platform
[opencl_init] found 1 device

DRIVER_VERSION: 331.38
DEVICE_VERSION: OpenCL 1.0 CUDA
Вы не авторизованы

Пожалуйста, авторизуйтесь, чтоб иметь доступ к полному функционалу сайта