Wprowadzenie do picture datatypes w OS4 - autor Oliver Roberts
Pomysł datatypes zadebiutował w AmigaOS 3.0 sprawiając, że aplikacje zdolne
są bez większych problemów wirtualnie odczytać każdy rodzaj pliku
zawierającego dane (obrazki, dźwięki, filmy itd.), dla którego istnieje
odpowiednia klasa datatype. W szczególnych przypadkach pomogło to
zaoszczędzić programistom trudu i czasu podczas pracy nad własnymi
procedurami dekodującymi, jak również sprawiło, że aplikacje mogły wczytywać
dowolne rodzaje danych bez potrzeby modyfikacji samej aplikacji.
Każdy zgodnie przyzna, że najczęściej używanym i najważniejszym rodzajem
danych obsługiwanym przez datatypes są obrazki, a z racji, że jest to obszar
moich szczególnych zainteresowań, artykuł ten głównie skoncentruje się na tym
zagadnieniu. Obecnie traktujemy datatypes niczym codzienność, ale wyobraźmy
sobie, że jesteśmy ograniczeni tylko do używania obrazów w formacie ILBM!
Wydaje się to nieprawdopodobne, lecz do AmigaOS3.0 aplikacje same musiały
radzić sobie z dekodowaniem danych graficznych. System datatypes sprawił, że
aplikacje z łatwością zaczęły radzić sobie z wczytywaniem obrazów
wykorzystując preferowane przez użytkownika formaty.
Picture datatypes wykorzystywane jest w wielu komponentach OS4. Odbywa się
to w znacznie większym niż dotychczas stopniu - nie tylko na blacie
Workbencha oraz przez Multiview. Nowe Intuition GUI opiera się na datatypes.
Datatypes wykorzystywane są również przez IBrowse, który zawsze odwołuje się
do datatypes w momencie gdy napotka na obraz, z którym sam nie może sobie
poradzić (dla przykładu, czasami można natknąć się na strony www posiadające
obrazy w formacie BMP).
W przeszłości, regułą było, że klasy datatypes opracowywane i rozwijane były
przez tzw. "third parties", za wyjątkiem jednej zdolnej odczytywać obrazy w
formacie ILBM (i tylko 8-bitowe), którą otrzymywało się w momencie instalacji
systemu 3.1. Z racji, że jest to tradycyjny format zapisu danych graficznych
na Amidze, musiał być obsługiwany przez sam system. Niestety, trud
znalezienia i zainstalowania reszty datatypes stworzonych przez "osoby
trzecie", pozwalających obsługiwać inne typy danych, spoczywał na barkach
użytkownika. Na szczęście, AmigaOS3.5 jak i 3.9 dostarczane były wraz z
datatype JPEG i GIF, lecz żadne z nich nie korzystały z szybkości procesorów
PPC, pomimo tego, że obsługa tych procesorów (WarpUp) była dodawana do
systemu. Było to dużym rozczarowaniem dla wielu użytkowników BlizzardPPC i
CyberstormPPC, włącznie ze mną.
Obrazy formatu JPEG wykorzystują schemat kompresji, którego szybkość w
znaczniej mierze zależna jest od szybkości procesora. Nie byłem wówczas
zadowolony z żadnego z istniejących JPEG datatype, a wiedziałem, że jest
możliwe stworzenie takiego JPEG datatype, który wykorzystałby moc procesora
PPC i dekodowanie obrazu odbywałoby się znacznie szybciej. Od tego właśnie
momentu rozpoczął się mój wkład w rozwój datatypes. Było to cztery lata
temu. Efektem mojej pracy są Warp Datatypes (WarpDT). Przez lata, WarpDT
rozrosły się od prostych, ale szybkich JPEG i PNG datatypes do całej rodziny
datatypes, które wykorzystują wspólne podłoże, jakim jest ze szczegółami
zaprojektowany, stabilny engine wykorzystujący w pełni możliwości zarówno
procesora 68k jak i PPC.
Moim zdaniem, bardzo ważne jest, aby OS4 umożliwiał obsługę najczęściej
używanych formatów graficznych, włączając nie tylko ILBM, ale w szczególności
JPEG i PNG. W konsekwencji, całkiem nowe datatypes JPEG, PNG, TIFF i BMP
powstały specjalne na potrzeby OS4 (dopełniają je porty PPC już istniejącyh
datatypes GIF i ILBM jak również superklasa picture datatype). Nie trzeba
wspominać, że te cztery, nowe datatypes są w znacznej części oparte na kodzie
WarpDT, a więc siłą rzeczy dzielą bardzo podobny zestaw cech. Dodatkowo,
odkąd datatypes są tworzone specjalnie pod kątem OS4, możliwym stało się
stworzenie pewnych elementów, które w znacznym stopniu wpływają na
efektywność i prędkość.
Bez wątpienia każdy jest zaznajomiony z obrazami w formacie JPEG. Bardzo
możliwe, że mniej słyszało o PNG - nowoczesnym, fleksyjnym formacie
oferującym unikalne i imponujące możliwości, w przesłości uznanym za
zamiennik GIF. Jednakże PNG to coś więcej. W przeciwieństwie do JPEG, PNG
oferuje bezstratną kompresję, dużo lepszą niż kompresja RLE stosowana w
formacie ILBM. Oczywiście lepsza kompresja wpływa na spadek prędkości
dekodowania. Pomimo swoich wielu zalet, PNG nie jest popularnym formatem,
głównie z powodu prędkości dekodowania i kodowania a także ograniczonej
obsługi ze strony systemów operacyjnych i aplikacji. Jednakże, użytkownicy
Amigi mają to szczęście, że wiele istniejących programów posiada obsługę tego
formatu od momentu jego powstania. Do dzisiaj jednak, żadna wersja AmigaOS
nie posiadała obsługi PNG, lecz poprzez dodanie PNG datatype jako standardu
dla OS4, użytkownicy i deweloperzy będą czuć się bardziej swobodnie w
wykorzystaniu tego formatu.
Pomimo tego, że w AmigaOS pliki TIFF i BMP nie są często stosowane do
przechowywania danych graficznych, używane są dosyć często na innych
platformach. Obsługa tego typu danych w OS4 oznaczać będzie prostszą
komunikację pomiędzy Amiga i innymi systemami, bez obawy o potrzebę dokonania
konwersji to innych formatów. Obsługa formatu TIFF zapewniana przez "third
parties" w obecnie istniejącym AmigaOS zawsze była czymś w rodzaju
podstandardu. Datatype były zdolne wczytywać tylko niewielki podzestaw
plików TIFF, były wolne lub po prostu niszczyły końcowy efekt. OS4 TIFF
datatype oferują jak dotąd największą z możliwych w AmigaOS obsługę specyfikacji
formatu TIFF, przy zachowaniu szybkości i efektywności.
Biorąc pod uwagę, że WarpDT są wysoce zoptymalizowane i stosunkowo szybkie
nawet na 68k, OS4 datatypes powinny być absolutnym spełnieniem marzeń do
wykorzystania na AmigaOne. Co więcej, OS4 datatype są prawie ukończone i
testowane na wersji CyberstormPPC OS4 bez większych problemów.
Sądzę, że spodobało Wam się moje delikatne spojrzenie na możliwości datatypes
OS4. W celu uzyskania większej porcji informacji na temat WarpDT oraz
gdybyście chcieli spróbować ich możliwości na AmigaOS3.x, zapraszam na stronę
WarpDT.
Autor: Oliver Roberts
Club Amiga logo concept and artwork by Mark Rickan & Mohamed Moujami, winners of the Club Amiga Logo Contest.
Submitted text and images reproduced in Club Amiga Monthly are copyright by their respective authors.
All other text and images reproduced in Club Amiga Monthly are copyright 2003 Amiga Inc.
Content may not be reprinted or reproduced in part or in whole without express written consent of Amiga Inc.