SantyagoSantyago
Avatar

Witaj!
Blog archiwalny. Już niebawem nowy serwis!

YouTube RSS Facebook GitHub

GIMP to obecnie najpopularniejszy program graficzny dostępny na Linuksa. W maju ubiegłego roku, po wielu miesiącach opóźnienia i premier widmo, została wydana wersja 2.8.0.

Nadszedł więc czas na intensywne prace nad rozwojową linią 2.9.x. Zanim gałąź się ustabilizuje i zobaczymy finalną wersję 2.10, przyjdzie nam jeszcze sporo poczekać. I chociaż ukończenie planowane jest na koniec 2013 roku, nic nie stoi nam na przeszkodzie, aby sprawdzić co szykują nam dobrego.

A jest na co czekać...

16- i 32-bitowa precyzja kolorów

Do tej pory GIMP oferował tylko 8-bitową precyzję kolorów. W praktyce oznaczało to tyle, że wszelkie przejścia tonalne jednej barwy w drugą nie były super płynne. Wprowadzenie 16- i 32-bitowej precyzji kolorów to wielki krok na przód, który pozwala na osiągnięcie niebywałej dotąd jakości przejść tonalnych. Osoby edytujące pliki RAW na pewno docenią tą zmianę. Oprócz standardowej 8-bitowej precyzji, która już znamy zostały wprowadzone dwie  kolejne (dodatkowo będziemy mogli wybrać czy precyzja ta będzie stało czy zmiennoprzecinkowa).

Zapytacie pewnie po co rozróżnienie na stało i zmiennoprzecinkową precyzję? W przypadku stałej 16-bitowej precyzji kolorów możemy osiągnąć 65 tysięcy odcieni pojedynczego koloru, a odstęp między nimi jest stały. Wybierając tryb zmiennoprzecinkowy możemy określić przedział, który nas konkretnie interesuje. Dopiero wtedy zostanie on podzielony na 65 tysięcy próbek. Strach pomyśleć zatem o precyzji 32-bitowej.

Kafelkowa projekcja i obliczanie obrazu

Kafelkowa projekcja obrazu ma w przyszłości na zadanie przyśpieszyć wyświetlanie i edycję grafiki. Założenie jest takie: podzielić edytowany obraz na mniejsze części, a następnie wykonywać na nich określone operacje.

Na chwilę obecną przerysowanie przestrzeni roboczej odbywa się w miarę powolnie ze względu nad ciągłymi pracami w GEGL.

Ujednolicona transformacja

Obecnie jeśli chcieliśmy dokonać kilku operacji na warstwie dotyczących transformacji, musimy się trochę nabiegać. Pochylenie, obrót, wykrzywienie - wszystko to wymagało od nas korzystania z osobnych, przeznaczonych do tego narzędzi. Tym razem się to zmieni, bowiem wszystkie te operacje zrobimy za jednym zamachem z wykorzystaniem nowego narzędzia transformacji (Unified Transform)

Korekcja temperatury barw

W nowej odsłonie dostajemy nowe narzędzie, pozwalające nam na manipulację temperaturą barw w skali Kelwina.

Nowe metody skalowania obrazu - LoHalo i NoHalo

W nowym GIMP-ie nie znajdziemy już Lanczosa. Zamiast tego wprowadzono dwa nowe filtry skalowania obrazu: LoHalo oraz NoHalo. Filtry te wyspecjalizowane są w określonych pracach. Kiedy przyjdzie nam potrzeba pomniejszyć obraz co najmniej o połowę - powinniśmy wykorzystać filtr LoHalo. Jeśli redukujemy rozmiar nieznacznie, ale zamierzamy transformować obraz, na przykład obracjąc go, najlepiej nada się do tego zadania filtr NoHalo. Od lewej: Sześcienna, NoHalo, LoHalo

Zobacz obraz w skali 1:1 z porównaniem: NoHaloLoHalo.png

Obsługa kilku rdzeni CPU / GPU oraz OpenCL

Na zakończenie prawdziwy rarytas. Jak wiadomo GIMP 2.8 nie radzi sobie zbytnio zwinnie z działaniem wszelkiego rodzaju filtrów. Tym razem się to zmieni. Na chwilę obecną GEGL obsługuje tylko drobny zestaw filtrów, które zrobią użytek z kilku rdzeni naszego procesora i biblioteki OpenCL. Jednak te które są i potrafią, robią prawdziwą miazgę z tego, do czego jesteśmy przyzwyczajeni.

Aby skorzystać z dobrodziejstw OpenCL i akceleracji sprzętowej musimy uruchomić GIMP-a z następującą zmienną środowiskową:

  1. GEGL_USE_OPENCL=yes gimp-2.9

W konsoli powinniśmy ujrzeć coś takiego (w przypadku NVIDIA CUDA):

  1. GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:319: Platform Name:NVIDIA CUDA
  2. GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:320:  Version:OpenCL 1.1 CUDA 4.2.1
  3. GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:321: Extensions:cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll
  4. GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:322: Default Device Name:GeForce GTX 560
  5. GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:323: Max Alloc: 268320768 bytes
  6. GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:324: Local Mem: 49152 bytes
  7. GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:337: Iteration size: (2048, 2048)
  8. GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:341: Image Support OK
  9. GEGL-gegl-cl-init.c-Message: [GEGL_DEBUG_OPENCL] gegl-cl-init.c:372: OK

Aby zrozumieć i poczuć o czym mowa, wystarczy sprawdzić nawet najprostszy filtr rozmycia (Gaussian Blur). Nawet przy małych rozmiarach rozmycia np.: 10x10 w obrazach rozdzielczości 1680x1050 (w zależności od taktowania procesora) trzeba czekać dobre kilka sekund. Natomiast korzystanie z podglądu podczas doboru parametrów to czysta udręka.

Tak to wygląda bez ekceleracji:

  1. Działanie biblioteki GEGL: 2,31745 MPixels/sec

A tak z akceleracją:

  1. Działanie biblioteki GEGL: 19,772 MPixels/sec

Jak widać różnica jest kolosalna, sprawiając, że nie czekamy sekundy na efekt prac.

Komentarze Komentarze
Avatar 1
rrh Linux / Mozilla Firefox 18.0
17 January 2013 - 09:11 Bielsko-Biała

Brawo! Wyprzedziłeś nawet Libre Graphics World, które zawsze publikuje artykuły na te i podobne tematy. :)

Avatar 1
salvadhor Linux Ubuntu / Mozilla Firefox 18.0
17 January 2013 - 16:06 Gorlice

Pytanie, czy ktoś jeszcze czeka na te zmiany w GIMPie. Tzn. kto zajmujący się zarobkowym użytkowaniem Linuksa do obróbki grafiki/obrazu, odsyła swoich klientów z kwitkiem \'weź pan poczekaj jeszcze z tym zamówieniem, bo GIMP się rozwija\'... Gdyby nie fenomenalny rozwój softu do bezpośredniej obróbki rawów (Aftershot, Darktable, Rawtherapee), to i u mnie byłby płacz i zgrzytanie zębów...

Avatar 1
senkal Linux x86_64 / Opera 9.80
19 January 2013 - 22:10 Katowice

@salvadhor
Nie wiem ilu profesjonalnych grafików bierze Gimp-a na poważnie.
Z wieloma grafikami miałem do czynienia i nikt nie brał w Gimp-a na poważnie.
Więc, praktycznie, żaden z nich się szczególnie nie ucieszy na te zmiany. Bo mu to po [prostu wisi. Część z nich nawet wie co to jest Gimp i z niego korzystała dla zabawy.
Tak to już jest.

Jeśli ktoś się bawi mniej profesjonalnie lub nie ma narzuconego narzędzia a ważne są tylko efekty(oczywiście jego wyborem jest Gimp), może się ucieszyć z tych zmian.
Ja na pewno się ucieszę bo zdarza mi się czasami użyć Gimpa.

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 18.0
20 January 2013 - 11:57 Bytom

Podobne odczucia. Oczywiście daleko GIMP-owi do komercyjnych zastosowań. Chociaż z drugiej strony, widziałem takie graficzki zrobione w Gimpie i Krita, że nie jeden Photoshopowiec ma wypieki ze wstydu na twarzy.

Avatar 2
Domker_ Linux / Opera 9.80
20 January 2013 - 14:04 Warszawa

Fajne zmiany się szykują. Szkoda, że tak późno to implementują.
Jestem ciekawy jak to będzie działać na różnych konfiguracjach sprzętowych, bo z akceleracją to różnie bywa.
Powinni usunąć irytujące błędy filtrów (np. maska wyostrzająca - wystarczy mały obrazek otworzyć i spróbować maksymalnej wartości i błąd gotowy)

Avatar 1
Mariusz Windows 7 / Safari 537.17
02 February 2013 - 11:10 Warszawa

Witam.
Jak uruchomic GIMPA I KTÓRA WERSJA ze zmienną srodowiskową GEGL

Avatar 2
Korneliusz Linux x86_64 / Mozilla Firefox 18.0
03 February 2013 - 20:08 Bytom

Nie rozumiem zbytnio pytania. Ale jeśli chodzi Ci o wersje GEGL to 0.2.1