Апрель 2009

Счастье виртуализации достижимо

У меня дофига работы происходит под VMWare и все полностью устраивало, кроме одного моментика: если засаспендить большую виртуальную машину (скажем с 4-мя гигами RAM), то хост-система (Vista x64) на довольно долгое время (минут 5) впадает в депрессию: реактивность понижается до нуля, на кнопки не реагирует, на мышь тоже, думает о чем-то своем.

Рабочей гипотезой было то, что саспенд пишет в файл, этот файл кэшируется в файловом кэше, а потом медленно и печально выливается на диск. Кэш при этом, естественно, тоже вымыт нафиг и любая мелочь (DLL-ки там) требует доставания с диска, что в свою очередь интерферирует с вышеуказанным выливанием на диск.

Помогли следующие настройки виртуальной машины (которые я ставил вовсе для другого):

MemTrimRate = "0"
sched.mem.pshare.enable = "FALSE"
mainMem.useNamedFile = "FALSE"

Саспенд теперь происходит долго (не единицы секунд, а десятки), но и в процессе саспенда и сразу после него другие программы работают

Памятные цвета

Был у меня электрический чайник. Пластмассовый, голубого цвета. Много лет работал (точно больше трех, может и 10).

Сегодня утром он приказал долго жить, я спустился в магазин в первом этаже и купил точно такую же модель, но светло-бежевого цвета, поставил на место старого.

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

Через несколько дней пройдет, конечно. Но пока я потрясен.

Пеар и моркетинг

Пресс-релиз от NVidia, фанфары:

NVIDIA Corporation, the inventor of the GPU, today announced the release of its OpenCL driver and software development kit (SDK) to developers participating in its OpenCL Early Access Program.
....Developers can apply to become a GPU Computing Registered Developer at: www.nvidia.com/opencl

Ну ладно, иду и apply, мне несложно.

Заполнил форму и думаю, что надо заглянуть в уголок CUDA-девелопера (только для бе.. туда нужно тоже через Application, я больше двух лет назад вписался), вдруг там что новое.

Ага, есть новое:

Looking for OpenCL drivers?
You are in the right place. Registered developers with access to this web site will receive an email notification as soon as our Beta drivers are ready.

Маркетинг отстрелялся, а осадок у меня остался.....

А в OpenCL мне, помимо потенциальной многоплатформенности, люба трансляция из исходников на лету, у меня столько идей....

Шумодав?

canon-450d.jpg Смотрю я, значит, на серый фон от своей любимой картинки снятый EOS 450D на двух чувствительностях, 100 и 200.

И видится мне, что на ISO100 оно заметно более шумное, стандартное отклонение в 1.5 раза отличается при одном уровне сигнала. И ладно бы, это было в обработанных кадрах, мало ли какой интеллект в конверторе, но ведь и в исходных данных разница в StdDev в те же полтора раза (смотрел в зеленом канале) при одном уровне сигнала. Разница устойчива и для кадров с недодержкой -1..-3EV, дальше не стал смотреть.

Никакого материалистического объяснения кроме шумодава перед записью RAW у меня нет, а у вас? Как детектировать шумодав, по мелким малоконтрастным деталям, которые должны съедаться? Какой бы объект поснимать.....

Динамический диапазон - 3

Одной строкой

Обрабатываю данные по ДД камеры 5D Mark II в духе вчерашнего текста. Получается что угадал с критерием (четко читаемый шрифт размером 20-25 пикселов и контрастностью 1 стоп):

Для более жесткого критерия (15 пикселов, 0.5 стопа) широта на ISO 25600 получилась бы 0 стопов, ибо читается только на одном кадре, который последний перед пересветом. И что с такой цифрой делать? Впрочем, что 25600 не предназначена для увеличений больше открытки я и так знал.

Динамический диапазон: вторая попытка

DR-image-8bit-small.jpgЭксперименты с газеткой дали мне вполне приличный объем данных о динамическом диапазоне камеры, однако продолжать упражняться с газеткой дальше (а ведь надо прощелкать полный диапазон чувствительностей, как минимум) мне не захотелось: критерии краев динамического диапазона все-таки были недостаточно четкими. Родилась идея сделать собственную мишень, для начала черно-белую.

Требований к такой мишени немного:

  • Известный контраст.
  • Несколько размеров деталей.
  • Отсутствие бликов.

Этим требованиям удовлетворяет...

Argyll CMS + dispcalGUI + калибровка монитора = фиаско

В качестве алаверды к предыдущему посту имею сообщить, что хвалимый многими модуль дисплейной калибровки Argyll CMS мне не понравился:

  • Задача-максимум: добиться одинакового визуального воспроизведения нейтральных плашек на двух мониторах не достигнута. Формально dE меньше единицы, но реально глаз видит разницу (которую можно устранить кривой в зеленом, но удобных средств редактирования LUT монитора у меня под рукой не было).
  • Задача-минимум, собственно калибровка и профилирование, выполняются относительно неплохо, но калибровка идет средствами LUT видеокарты (т.е. 8-битной таблицы на DVI), точность работы средств, пищущих в LUT монитора - сильно выше (это видно при рассмотрении серого ступенчатого клина). Матричные профили имени Argyll мне при этом вполне нравятся, табличные - не нравятся.
  • Использовать сам Argyll (коммандлайновые утилиты) необычайно мучительно, GUI сильно упрощает процесс. dispcalGUI задачу управления вполне решает.

С учетом вышесказанного, остался жить с basICColor.

В процессе этих упражнений, пронаблюдал эффект с потерей точности уже в CMM-engine (в фотошопе), который легко воспроизводится (и как только я его объяснил в уме, он перестал быть неожиданным):

  • Калибровка и рабочий профиль у меня совпадают по точке белого (D50) и тоновой кривой (L*).
  • Берем ступенчатый серый клин (я использую мишень от Norman Koren) в пространстве sRGB (D65 и степенная гамма-кривая), выводим фотошопом на экран, получаем (видимую) разноцветность по патчам.
  • Image->Convert to RGB -> Beta-Lstar (рабочий профиль) - разноцветность патчей пропадает.

Эффект проявляется только для табличных (LUT) профилей и связан, естественно, с ошибками интерполяции содержащихся там таблиц (при построении условного device-link профиля пространство файла-пространство монитора). Для матричных профилей такой пересчет интерполяции не требует и, соответственно, ошибок не создает.

Vista x64 driver signing hell

Я сделал это!

Потеряно два вечера и еще полдня, система два раза поднималась с бэкапа, но я таки подписал драйвера для Висты-x64 и они таки работают.

История вопроса

Есть такой Argyll CMS, который я уже многократно хвалил за качество CMM-модуля. И вообще, похоже что это необычайно ценный мех варез, ибо качество строимых им профилей необычайно хвалят.

Помимо этого, Argyll умеет работать с i1 Pro в точном режиме: со спектральным разрешением 3.33 нанометра вместо стандартных 10нм, что тешит мою склонность к перфекционизму.

Кроме того, тамошний дисплейный профайлер очень хвалят, хотелось попробовать самому.

Мешало пользовать эту полезную зверушку следующее обстоятельство:

  • Argyll использует libusb, которая конечно есть для Windows, но тамошние драйвера неподписаны, а значит на 64-битной висте можно этим пользоваться, только если при загрузке нажать F8 и выбрать режим, отключающий проверку подписи.
  • Если ставить кроме libusb еще и тамошний модуль фильтра (чтобы можно было использовать тот же i1 и из стандартных приложений), то без загруженного драйвера вся система не работает, а входит в вечный цикл перезагрузки.
  • Но нажимать всякий раз F8 на загрузке - мучительно и противно.

Динамический диапазон: первый подход к снаряду

Я уже столько раз ругался на измерения пресловутого ДД, что даже сбился со счета. Существующие в сети измерения меня не устраивают по куче причин:

  • Обычно методика описана очень приблизительно (при этом опубликованные результаты - странные).
  • Из (приблизительного) описания методики удается понять, что снималась контрастная мишень одним кадром, а такая съемка сама по себе проблемная по многим причинам:
  • ...

Еще про EMS (москвичам)

Мне в силу многих причин удобнее заехать в EMS на пр. Вернадского, чем ждать по полдня курьера, который либо приедет, либо приедет завтра. Но уже две посылки я так упустил: статус "отпущенно таможней и поступило в сортировочный центр" на веб-трекинге запаздывает, реально он появляется когда посылка уже может быть в службе доставки.

Позвонил EMS в хотлайн, имел беседу, из которой вынес следующее

  • Реальная раздача курьерам происходит рано утром, ловить в это время по телефону уже поздно, если попало в отдел доставки, то оттуда легко не выцарапать.
  • Поставить в базе пожелание клиента "не доставлять" они могу только после прохождения таможни.
  • Таможня работает днем и выдает EMS-у наработанное (большим батчем) ближе к вечеру.

Итого: ловить посылку нужно вечерами. Т.е. после появления статуса "импорт" каждый вечер туда звонить, пока не поймаешь ее в состоянии "после таможни". Только в этом состоянии ей могут поставить статус "клиент заберет сам".