Апрель 2014

Q: samsung galaxy note battery

А я верно понимаю, что если батарее в телефоне 2.5 года и телефон внезапно начал очень быстро садиться, то не надо искать жрунчика среди обновленных программ, а надо просто батарею поменять?

P.S. Мелкий карманный телефон у меня того же возраста, но эффекта в *такой* степени не проявляет, как раз в неделю заряжал, так и заряжаю вроде бы.

Ненависти к Qt псто

А вот представим себе такое вот:

  • QGraphicsView и QGraphicsScene
  • Показываем картинку с каким-то увеличением, так что есть скроллбары (или только один)
  • И хотим показать следующую картинку "примерно так же" (в смысле относительного положения окна просмотра относительно всей картинки)
  • И хотим, чтобы когда мы вернулись к предыдущей - позиция сохранялась бы.
Нормальное желание, правда?

Ну вот казалось бы решение:

  • Рассчитать какая (относительная, в координатах 0-1) точка исходной картинки расположена в центре экрана.
  • Рассчитать далее, какая абсолютная точка следующей картинки должна быть в этом самом центре.
  • Дальше - view->centerOn()
Почти работает.

Почти - потому что есть скроллбары, они могут быть, они могут не быть, они могут быть у первой картинки, но не у второй (размеры другие) и наоборот. Скроллбары - меняют центр View (потому что занимают ширину).

И приходится нецензурно закатывать солнце вручную:

  • Если исходно скроллбар есть - запоминаем его относительную позицию (где у нас value() между minimum() и maximum()). Если нет - берем запомненную ранее, когда скроллбар был.
  • Дальше нужно посчитать, будет ли скроллбар при показе следующей (какой размер больше, картинки или viewport()
    • Если не будет, то скроллбар надо явно выключить, потому что если разница в несколько пикселов, то его может включить.
    • Если будет - то явно включить, доверять автоматике нельзя (бывает клево: view ставит скроллбары и зовет resizeEvent(). resizeEvent() знает, что режим у нас fit-to-screen и ресайзит картинку. view - видит что картинка поресайзилась, убирает скроллбары, зовет resizeEvent().....).
  • И если скроллбар будет - то явно ему поставить value (пересчитать из предыдущего относительного)
  • А если не будет - то припрятать относительное value до следующего раза, когда скроллбар появится.
Работает. Можно листать 10 картинок (разного размера и aspect ratio) вперед, потом назад - и вернуться ровно в ту точку/экранную позицию, с которой начинали.

Но, сука, 98 строк кода (считая пробелы). Вместо эдак 8-и, с которыми работает, но примерно.

Про AMD FirePro W9100

Вот между прочим, AMD выступила очень достойно с FirePro W9100: они сделали чип у которого отношение производительности Single Precision : Double Precision 1:2, вместо обычных для AMD 1:4 (а на HD5xxx было 1:5)

В результате у них 2.6TFlops DP (теоретической), что в 1.85 раза больше, чем у (самой толстой на сегодня) NVidia Tesla K40 (1.4Tflops теоретических).

Да, у AMD не все здорово с софтовой частью: все кто вычислял вычисления уже привыкли к CUDA, перенос кода на OpenCL и оптимизация для AMD займут время, но почти двукратный выигрыш по перформансу (и еще больше, по прайс-перформансу, если сравнивать с Теслой) - взбодрит разработчиков.

Я ожидаю, в первую очередь, взбодрения всяких CAD-ов. Это FirePro не выглядит картой для вычислительных кластеров (коим 6 видео-выходов без нужды), а вот на рабочих станциях, и 3D-графика и ее обсчет на одной карте - очень к месту ж.

Ждем, естественно, ответа NVidia. Так, по идее, Maxwell - хороший, 750Ti обгоняет 650Ti на вычислениях прилично так (при меньшем количестве cores и достаточно близких частотах).

P.S. Конечно, лидером по price/perf (DP) остается NVidia Титан, но это другая история (на Титан, в числе прочего, драйвера от Квадры не натянуть, т.е. всякие CAD-ы пролетают).

Про нейтральные фильтры Haida

Один из способов убрать "трясучку" у Sony A7R - это уехать из области опасных выдержек (1/200 - 1/4, в первом приближении). Укоротить - легко (в некоторых пределах), просто увеличим чувствительность на пару стопов, проблема - увеличить выдержку, особенно если диафрагма задана сюжетом (или каким-то еще соображениями).

Насколько я слышал, большинство Vari-ND-фильтров не полностью нейтральны. И чем нейтральнее, тем получается дороже.

Пластик (Formatt/Hitech), который я пользовал (4-9 стопов) - тоже достаточно сильно окрашен, многое выправляется балансом белого, но осадок остается. У Formatt появились еще ProStop IRND, стал про них читать, наткнулся на сравнение с Haida. А Haida - есть на Ebay, дешевле простопа раза в два-три (100mm: $85 /стекло/ с бесплатной доставкой против 100/150 фунтиков за пластик/стекло+ доставка), плюс еще вот хвалят.

Сегодня приехал 6-стопный (1.8D) и вот результат:

Это два кадра, с одинаковыми установками ББ в ACR (тупо Daylight, magenta cast не убирал), посередине там шовчик (на облаках видно, они уехали немножко пока фильтр снимал). По цвету - практически не отличаются, кривую яркости пришлось вывести по трем точкам, потому что:
  • Светорассеяние с фильтром заметно побольше, поэтому тени "поднялись"
  • Экспонометр в камере, не видя в положенном месте хайлайтов, разницу в экспозиции сделал примерно 1:100, вместо 1:64, снимок с фильтром получился малость недодержан.
Итого: я очень доволен. 10-стопный мне не нужен вроде бы, а 6-стоповый очень оказался хорош.

Про Adobe DNG и Adobe Bridge

Изучал тут поведение Adobe Bridge с DNG и XMP файлами, а оно смешное:

  • В DNG может быть XMP-секция, Bridge ее, естественно, читает. И пишет. Можно туда Keywords или рейтинги написать.
  • Если рядом с DNG лежит его XMP-файл (c тем же именем и, опционально, с тегом photoshop:SidecarForExtension="DNG"), то все берется оттуда, а XMP-секция в DNG - игнорируется.
  • Если начать редактировать метаданные, содержимое XMP + результаты редактирования будут записаны в DNG, а XMP-файл - удален.
  • С другими известными Бриджу файлами
  • ...

Раскапывая RAW: Nikon Small NEF (NEF S)

Продолжаем традицию анонса наших публикаций. На этот раз на русском:

Раскапывая RAW: внутреннее устройство Nikon Small Raw

Для удобства ленивых читателей выводы вынесены в начало текста. Перевод на английский будет, но не мгновенно.

Комментировать можно там (требуется регистрация), можно тут, как удобнее.

P.S. И рабочий крик души про этот формат.

Q: embedded JPEG на вертикальных кадрах

Уважаемые читатели,

Если вас не затруднит, не могли бы вы сделать следующий эксперимент:

  1. Взять любой вертикальный кадр в RAW (или RAW+JPEG) с вашей камеры.
  2. Заглянуть в JPEG-часть (внутреннюю или внешнюю) Exiftool-ом (или чем хотите) и ответить на следующий вопрос:
    • Это действительно вертикальный JPEG (высота больше ширины)
    • Или он на самом деле горизонтальный (высота меньше ширины) и повернут тегом
Для Canon, Sony, Nikon у меня получился вариант два (поворот сделан тегом), но конечно я не все...