Jak przekonać się do zmiany sprzętu
Banał – gdy komputer nie działa dobrze, to się go wyrzuca i idzie do sklepu po nowy. Takie trendy panują w podgniwającej cywilizacji zachodu. Nas jednak z dziada pradziada uczono szacunku do dóbr wytworzonych i nabytych, a słowiańska dusza szybko ulegała sentymentalnemu przewiązaniu do różnorodnych przedmiotów naszego otoczenia. Jak zatem pozbyć się ukochanego peceta, gdy na przekór naszej woli od X lat jego elektronika bez szwanku wykonuje swoją robotę? Cóż, najrozsądniejszy argument to na pewno oszczędność własnego czasu. Czy jednak na nowszym, szybszym komputerze będziemy w stanie pracować wydajniej? W wielu wypadkach nie, lecz jeżeli rzecz opiera się o obróbkę grafiki, a w tym przypadku wywoływanie i retusz surowych plików RAW z aparatu, to okazuje się, iż…
Czasy bezlitosnego marketingowego postępu znoszą pod nasze strzechy coraz to bardziej wymyślne formaty danych, jak też większą ilość informacji przekazywaną za ich pomocą. W materii cyfrowych aparatów fotograficznych pierwszy rzucający się w oczy parametr to ilość megapikseli matrycy. Zdrowy chłopski rozum podpowiada, że jak czegoś się więcej, to dłuższa przy tym robota (większa furmanka -> więcej siana -> dłuższy czas załadunku). Dlatego w ramach dojrzewania do zmiany pokoleniowej sprzętu, dokonałem prostych wyliczeń. Otóż wziąłem na warsztat plik RAW z matrycy 8, 10 i 12 Mpx. Każdy plik potraktowałem programem Dcraw (wywołanie zdjęcia) i ImageMagick (skalowanie i lekki retusz materiału wyjściowego z Dcraw). Sprawdziłem czas obróbki na dwóch maszynach, z tym samym systemem (Ubuntu 10.04), tą samą wersją Dcraw i ImageMagick. A co z tego wynikło…
Core 2 Duo 2.13 GHz
8Mpx
#$:~/poligon$ time dcraw -c -q 3 -w 8mpx.orf | convert -filter Lanczos -resize "1024x768" -contrast-stretch 0.1% -strip -unsharp 0.3x0.6+1.3+0 - 8mpx.jpg
real 0m4.247s
10Mpx
#$:~/poligon$ time dcraw -c -q 3 -w 10mpx.orf | convert -filter Lanczos -resize "1024x768" -contrast-stretch 0.1% -strip -unsharp 0.3x0.6+1.3+0 - 10mpx.jpg
real 0m5.662s
12Mpx
#$:~/poligon$ time dcraw -c -q 3 -w 12mpx.nef | convert -filter Lanczos -resize "1024x768" -contrast-stretch 0.1% -strip -unsharp 0.3x0.6+1.3+0 - 12mpx.jpg
real 0m6.379s
I7 Q720 1.60 GHz
8Mpx
#$:~/poligon$ time dcraw -c -q 3 -w 8mpx.orf | convert -filter Lanczos -resize "1024x768" -contrast-stretch 0.1% -strip -unsharp 0.3x0.6+1.3+0 - 8mpx.jpg
real 0m2.567s
10Mpx
#$:~/poligon$ time dcraw -c -q 3 -w 10mpx.orf | convert -filter Lanczos -resize "1024x768" -contrast-stretch 0.1% -strip -unsharp 0.3x0.6+1.3+0 - 10mpx.jpg
real 0m3.668s
12Mpx
#$:~/poligon$ time dcraw -c -q 3 -w 12mpx.nef | convert -filter Lanczos -resize "1024x768" -contrast-stretch 0.1% -strip -unsharp 0.3x0.6+1.3+0 - 12mpx.jpg
real 0m3.814s
Jak to wszystko rozumieć? Pierwsze, co rzuca się w oczy, to stosunkowo niewielkie różnice w czasie obróbki pomiędzy plikami z matryc 10 i 12 Mpx i mocno odostająca od nich matryca 8 Mpx (na plus). Teoretycznie, skoro skok jest co 2 Mpx, różnice w czasach powinny być podobne. Wynika to z tego, że obraz z matrycy 8 Mpx jest nieskompresowany, natomiast pozostałe dwa przypadki już tak (postęp). Druga sprawa, to stosunkowo niewielkie różnice – dla słabszego sprzętu (Core 2 Duo) co to za różnica pomiędzy 4.24 s., 5.66 s. i 6.37 s. – można rzecz, pomijalna. Diabeł tkwi jednak w tym, że gdy będziemy mieli kolejkę np. 100 plików do automatycznego obrobienia (choćby tymi minimalnymi zmianami jak powyżej), to otrzymamy 7 minut, 9 minut i 10 minut (mocno zaokrąglając). Dalej jest to akceptowalny czas? Zapewne jest. I tu docieramy do sedna sprawy. Gdy weźmiemy czasy dla mocniejszej maszyny, to dla stukrotnego przebiegu powyżej komendy, dostajemy kolejny – 4 minuty, 6 minut i 6 minut (znowu zaokrąglając). I nadal są to czasy dla bardzo podstawowej obróbki, nic skomplikowanego się tam nie dzieje (wywołanie RAW, skalowanie, wyostrzanie, poprawka kontrastu i zapis do .jpg).
Wnioski? Rozmiar ma znaczenie. I o ile powyższe prymitywne zestawienie rzuca tylko zarys problemu wydajności starszych maszyn, o tyle można sobie wyobrazić, o ile wzrośnie czas obróbki materiału z przyszłościowych matryc naszych aparatów (18Mpx? 26Mpx?). I pisząc obróbka nie mam tutaj na myśli samo wywołanie zdjęcia. Spróbujcie obróbki w programie Darktable, gdyż obecnie chyba ten program najmocniej wydziera moc z naszych maszyn. Mnóstwo mocnych filtrów, zaawansowanej obróbki, duża ilość danych wejściowych i okazuje się, że takie Core 2 Duo to wymuszone minimum dla komfortowego i bezstresowego machania suwaczkami. I zgadza się, nie brałem tu pod uwagę ilości dostępnej pamięci, jednak dla powyższych wyliczeń nie miała ona większego znaczenia. Jednak przy solidnym zaparciu się nad obróbką zdjęć to już 2GB może się być za mało (mówimy o sprzęcie z czasów gdy 2GB było wyrazem nieujarzmionego snobizmu).
Zatem, czy warto zmieniać sprzęt na nowszy? Dla poprawy humoru zawsze. Dla zaspokojenia swoich amatorskich potrzeb obróbki jednego zdjęcia na miesiąc raczej nie. A w przypadku codziennego ślęczenia i przepuszczania zdjęć przez różne wywoływaczki, tudzież przy poszukiwaniach własnego wyrazu artystycznego – zapewne tak. Zaoszczędzone w ten sposób na obróbce sekundy i minuty w rozrachunku rocznym lepiej przeznaczyć na robienie zdjęć.