Dzięki takiej elastyczności koszt wytwarzania i projektowania urządzeń mobilnych jest znacznie mniejszy, przez zastosowanie tej samej architektury w jednostkach o różnych wymiarach, wydajnościach, a co za tym idzie zużyciu energii, wytwarzanemu ciepłu, trwałości, odporności na czynniki zewnętrzne. Najnowsze układy wielordzeniowe mają także możliwość skalowania ilości rdzeni GPU. Najnowsze standardy procesorów firmy Imagination Technologies umożliwiają zastosowania do 16 rdzeni.
Głównym zadanie jednostek graficznych jest oczywiście przetwarzanie grafiki 2D i 3D. Umożliwić korzystanie z tych zasobów i wspomagać te zadanie mają standardy takie jak OpenGL ES, OpenVG, DirectX, EGL czy SVGT. Są to standardy używane lub mające swoje odpowiedniki w zwykłych kratach graficznych, wykorzystywanych w komputerach stacjonarnych. Ich krótki opis znajduje się na końcu tego podrozdziału.
W wielu nowoczesnych urządzeniach przenośnych montowane są miniaturowe kamery cyfrowe o coraz większych rozdzielczościach zapisu. Najnowsze układy graficzne dla urządzeń przenośnych potrafią przetwarzać obraz z prędkością do 20 MPx/s dzięki czemu możliwy jest zapis i przekazywanie obrazu z kamer o wysokich rozdzielczościach, zarezerwowanych do niedawna dla dobrych aparatów fotograficznych. Obraz wideo przechwytywany za pomocą kamery zapisywany jest po skompresowaniu za pomocą różnego rodzaju kodeków, zapisujących w tych samych standardach co komputery stacjonarne. Jednak dla zwiększenia wydajności urządzeń układy te mają wbudowane specjalne moduły do kodowania i dekodowania filmów. W najnowszych układach standardem jest format HD 1080p, w którym to możliwe jest odtwarzanie oraz zapis filmów wideo. Sterowniki i kodeki do tego celu dostosowywane specjalnie dla układu są implementowane i dostarczane przez producentów tych układów.
Nowością wprowadzoną przez firmę Qualcomm oraz Texas Instruments w ich układach jest możliwość wyświetlania obrazu w technologii 3D, tak więc producenci smartfonów mogą już instalować wyświetlacze obsługujące tą technologie. Na rynku pojawiły się już urządzenia oferujące tą możliwość. Przykładem może być smartfon LG Swift 3D.
Wiele z najnowszych tego rodzaju procesorów zapewniają dzięki mechanizmowi GP-GPU możliwość prowadzenia skomplikowanych obliczeń matematycznych. Jest to taki sam mechanizm jaki jest używany w kartach graficznych komputerów standardu PC, bardziej znany pod nazwą CUDA, dla kart graficznych firmy nVidia, oraz ATI Stream w przypadku kart firmy AMD. Programowanie odbywa się za pomocą zaimplementowanego ogólnego standardu OpenCL.
Z powodu dużych ograniczeń urządzeń mobilnych wszyscy producenci stosują technologie pozwalające jak najbardziej obniżyć poziom poboru mocy oraz wytwarzane ciepło.
Zestawienie układów graficznych używanych w smartfonach
Krótki opis interfejsów wykorzystywanych w mobilnych jednostkach graficznych:
OpenGL ES - międzyplatformowe API dla pełnego zakresu funkcji grafiki 2D i 3D w systemach wbudowanych (konsol, telefonów, urządzeń i pojazdów). Jest okrojoną i pogrupowaną wersją OpenGL na komputery klasy PC, tworzą elastyczny i wydajny interfejs niskiego poziomu między oprogramowaniem, a jednostką graficzną. OpenGL ES 1.X oferuje przyspieszenie dla jakość obrazu i wydajność funkcji wbudowanych. OpenGL ES 2.x umożliwia pełne programowalne wsparcie grafiki 3D.
OpenVG - międzyplatformowe API, które zapewnia interfejs niskiego poziomu pomiędzy jednostką graficzną, a bibliotekami grafiki wektorowej, takimi jak Flash i SVG. OpenVG jest adresowane przede wszystkim do urządzeń przenośnych, które wymagają przyspieszenia wysokiej jakości grafiki wektorowej tworzącej interfejs użytkownika, oraz tekst zapewniając płynną interakcję z użytkownikiem przy bardzo niskim poziomie mocy.
EGL – interfejs łączący OpenGL ES lub OpenVG z systemem okienkowym natywnych platform. Zapewnia jedną powierzchnię, która synchronizuje grafikę generowaną przez różne interfejsy API, nadzorowane przez Khronos Group.
DirectX Mobile – API firmy Microsoft dla urządzeń mobilnych zapewniające jednolity interfejs dla wszystkich urządzeń obsługujących DirectX. Mobilna wersja jest bardzo podobna do wersji desktopowej z wyjątkiem ograniczeń nakładanych przez sprzęt. Składa się on z wielu modułów odpowiedzialnych mi. za obsługę grafiki 2D, 3D, kontrolerów, dźwięku, wideo. Moduły obsługiwane przez jednostkę graficzną to Direct3D Mobile oraz Direct Draw.
SVGT - (ang. Scalable Vector Graphics Tiny) wersja standardu SVG do zapisu dwuwymiarowej grafiki wektorowej dla urządzenia o ograniczonych zasobach, takich jak Smartfony i PDA. Daje możliwość zapisu grafiki wektorowej statycznej, jak i animowanej w połączeniu z elementami rastrowymi i multimediami.
OpenCL - pierwszy otwarty standard międzyplatformowy programowania równoległego dla nowoczesnych procesorów jakie można znaleźć w komputerach osobistych, serwerach i urządzeń mobilnych, oraz wbudowanych. OpenCL, czyli Open Computing Language, standaryzuje programowanie dla procesorów wielordzeniowych oraz urządzeń wieloprocesorowych. Znacznie poprawia wydajność i szybkość reakcji w aplikacjach dla wielu dziedzin, takich jak gry i rozrywka, oprogramowania naukowego lub oprogramowania medycznego.
OpenWF – międzyplatformowe API, które zapewnia niski poziom abstrakcji interfejsu sprzętu dla wkomponowanych systemów okienkowych. Pośredniczy pomiędzy menadżerem okien, wyświetlaczem, i interfejsem przyspieszenia graficznego. OpenWF jest adresowane przede wszystkim do urządzeń przenośnych, które wymagają przyspieszenia graficznego, minimalizując jednocześnie zużycie pasma pamięci oraz poziom poboru mocy.
Brak komentarzy:
Prześlij komentarz