Rozwiązania graficzne dedykowane programom
inżynierskim
Stacja robocza
Użytkownicy stacji roboczych mają inne oczekiwania w
stosunku do swoich komputerów w porównaniu ze „zwykłymi śmiertelnikami”.
Patrzą na nie inaczej gdyż traktują je jako narzędzia do pracy a nie do
rozrywki. Wykorzystują je do projektowania, złożonych analiz,
skomplikowanych symulacji czy prezentacji wyników swej pracy. Ponieważ
czas to pieniądz, dlatego też nie mogą oni zaakceptować nagłych awarii
systemu, irytujących błędów programu lub dających się uniknąć opóźnień w
toku pracy. Nie wymieniają kart grafiki dwa razy do roku, za to oczekują
wsparcia technicznego dla sterowników do swych kart przez przynajmniej 2
lata. Ponieważ w większości firm zakupiony sprzęt musi być sprawdzony
pod każdym względem, powinien być dostępny przez dłuższy okres czasu,
nawet bez względu na to czy jest on nowoczesny czy nie.
Termin profesjonalna stacja robocza jest równoznaczny
ze sprzętem wysokiej jakości, dużą niezawodnością pracy, wysoką
wydajnością i, w razie potrzeby, z natychmiastowym wsparciem
technicznym.
NVIDIA i stacje robocze
Największym na świecie producentem układów
graficznych dla stacji roboczych jest firma NVIDIA. Ponad 75% rynku
należy do dwóch serii kart produkowanych przez tą firmę - Quadro®.
Quadro® to rodzina kart dedykowana użytkownikom
aplikacji 3D i to zarówno tym co projektują, pracują nad symulacją
procesów lub zjawisk jak i tym, którzy tworzą filmy. Są to
najwydajniejsze karty w swych klasach cenowych oraz rozwiązania, które
charakteryzują się najlepszą jakością i dokładnością tworzonego obrazu.
Quadro® NVS przeznaczone są przede wszystkim do
obsługi aplikacji 2D pracujących na wielu monitorach, w biurach, bankach
jak i sterowniach zakładów produkcyjnych. Możliwość łączenia
wyświetlanego obrazu z dowolnej liczby monitorów (ograniczenia wynikają
wyłącznie z systemu operacyjnego) pozwala obsługiwać bardzo duże
rozdzielczości na dużej powierzchni, np. wykorzystując wyświetlacze
plazmowe.
Quadro a GeForce
Często pojawiają się pytania o różnice pomiędzy
kartami grafiki opartymi o Quadro® a opartymi o GeForce® ponieważ od
strony technicznej sprawiają wrażenie bardzo podobnych, natomiast ich
ceny są zasadniczo różne. Producent dokładnie pozycjonuje obie rodziny
produktów, zaznaczając przy Quadro®, że są dedykowane profesjonalistom a
GeForce®, że są przeznaczone dla rynku konsumenckiego.
W grupach dyskusyjnych związanych bezpośrednio z CAD
często pojawiają się opinie użytkowników mówiących o tym, że karty z
procesorami GeForce® pracują świetnie z używanymi przez nich aplikacjami
3D. Tym, o czym większość z nich zapomina jest fakt, że w szczególności
to właśnie podobieństwo doprowadziło do spadku cen na karty
profesjonalne bowiem główną ideą firmy NVIDIA jest praca zarówno nad
jakością i uniwersalnością kart rynku konsumenckiego jak i
przystępnością cenową produktów profesjonalnych. Producent dokłada
wszelkich starań aby stworzyć perfekcyjne rozwiązanie dla obu
zastosowań.
Trzeba jednak sobie zdawać sprawę, że pomimo
pozornego podobieństwa pomiędzy Quadro® a GeForce® istnieje dużo różnic.
1. Różnice sprzętowe.
Wspomaganie aplikacji w oknie 3D czyli sprzętowe
wsparcie dla OpenGL
Sprzętowe wygładzanie linii
Unikalną cechą procesorów Quadro® jest sprzętowe
wspomaganie wygładzania linii. Nie ma ono nic wspólnego z pełnoekranowym
wygładzaniem na kartach GeForce®. Działa ono w przypadku linii a nie
pocieniowanych poligonów i to bez straty wydajności lub pobierania
dodatkowej pamięci video. Większość profesjonalnych aplikacji wspiera tę
właściwość ponieważ jest ona standardowo zawarta w OpenGL.
Wielu projektantów pracuje w tzw. trybie drutowym (wireframe)
i dla nich ta cecha jest szczególnie ważna gdyż wygładzanie linii
poprawia wydatnie jakość wyświetlanego obrazu.
Rys.1. Ten sam fragment ekranu z wyłączonym i włączonym
wygładzaniem linii.
Operacje logiczne
Inną unikalną cechą procesorów Quadro® jest
wspomaganie operacji logicznych OpenGL. Mogą one być zaimplementowane
jako ostatni krok etapu renderingu, zanim zawartość zostanie zapisana do
bufora ramki. Aplikacje stacji roboczych używają tej funkcjonalności do
rysowania na widoku sceny 3D, np. do zaznaczania selekcji poprzez proste
funkcje XOR.

Rys.2. Ilustracja pokazująca selekcję w programie
Catia V5.
Posiadanie tej funkcji na poziomie sprzętu pozwala
uniknąć poważnych strat wydajności tak jak ma to miejsce w przypadku
pracy z kartami GeForce®.
Różnice w OpenGL
W kartach dla rynku konsumenckiego i dla stacji
roboczych OpenGL jest używany dla różnych celów. Najpopularniejszymi
aplikacjami dla kart GeForce® są pełnoekranowe gry. Mają one stosunkowo
niewielkie wymagania: wolna od błędów funkcjonalność i przede wszystkim
wydajność. Aplikacje CAD działają z OpenGL w oknach, w kombinacji z
elementami 2D.
Typowa aplikacja na stację roboczą zawiera elementy
3D i 2D. Podczas gdy widoki wyświetlane są w oknach OpenGL, menu, menu
rozwijalne i ramki są wciąż elementami 2D. One też często zachodzą na
siebie. W zależności od tego jak radzi sobie z nimi sprzęt,
przesłaniające się okna mogą w widoczny sposób wpłynąć na jakość
wyświetlanego obrazu i jakość grafiki. Jeśli okno nie jest przesłaniane
przez inne okno, cała zawartość bufora koloru może być przetransferowana
do bufora ramki jako pojedynczy, ciągły prostokątny obszar. W przypadku
gdy okno przysłaniane jest przez inne okno, transfer danych z bufora
koloru do bufora ramki musi być podzielony na serię niewielkich,
prostokątnych obszarów. Te prostokątne obszary są określane mianem
obszarów wydzielonych (clip regions).
Procesory GeForce® obsługują sprzętowo jedynie jeden
wydzielony obszar, najczęściej używany do wyświetlania menu w OpenGL.
Procesory Quadro® obsługują sprzętowo, bez straty wydajności, do 8
wydzielonych obszarów w aplikacjach CAD.
Sprzętowa obsługa płaszczyzn przekroju
Płaszczyzny przekroju pozwalają ciąć obiekty 3D tak
by użytkownik mógł zajrzeć do wnętrza obiektu. Pokazywanie obiektów w
przekroju jest szczególnie przydatne przy wizualizacji złożeń. Do tego
celu, wiele profesjonalnych aplikacji CAD /DCC używa płaszczyzn
przekroju. Rodzina procesorów Quadro® wspomaga sprzętowo obsługę
płaszczyzn przekroju zwiększając znacznie wydajność profesjonalnych
aplikacji.
Różnice w wydajności (przy zastosowaniu sprzętowych
płaszczyzn przekroju i bez) pokazuje np. test UGS-04 w SPECviewperf®
1)

Rys.3. Zastosowanie płaszczyzn przekroju w programie Solid
Edge.
Optymalizacja zarządzania pamięcią
Inną cechą oferowaną przez rodzinę procesorów Quadro®
jest optymalizacja zarządzania pamięcią, która efektywnie przydziela i
udostępnia zasoby pamięci pomiędzy bieżącymi oknami graficznymi i
aplikacjami. W wielu sytuacjach ta cecha bezpośrednio wywiera wpływ na
wydajność aplikacji a co za tym idzie oferuje wyraźną różnicę (na plus)
w stosunku do zorientowanej na rynek konsumencki rodziny GPU GeForce®.
Pamięć grafiki wykorzystywana jest na bufor ramki,
tekstury, pamięć podręczną i dane. Zunifikowana architektura pamięci (UMA)
dynamicznie przydziela zasoby zamiast trzymania stałego rozmiaru dla
bufora ramki. Wolna pamięć bufora ramki, zamiast pozostać
niewykorzystana, może zostać użyta przez inne bufory lub na tekstury.
Szczególnie wtedy gdy aplikacje potrzebują więcej pamięci, używając np.
poczwórnego bufora dla obrazu stereo lub wygładzania obrazu w widoku
pełnej sceny, efektywne zarządzanie zasobami staje się szczególnie
ważne.
Sprzętowe nakładanie płaszczyzn
Interfejsy użytkownika w wielu profesjonalnych
aplikacjach często wymagają elementów, które są interaktywnie rysowane
przed modelem lub sceną 3D. Kursor, menu rozwijalne lub dialogi
występują przed oknem widoku 3D. Te elementy mogą zniszczyć zawartość
zakrywanego okna lub wpłynąć na wydajność aplikacji i jej
interaktywność. Aby tego uniknąć, prawdziwie profesjonalne aplikacje
używają nakładania płaszczyzn (overlay).
Nakładanie płaszczyzn pozwala na rysowanie elementów
w głównym oknie graficznym bez zniszczenia zawartości okien znajdujących
się pod nim. Okno rysowane w płaszczyźnie „overlay” może zawierać tekst,
grafikę itd. — tak samo jak w każdym innym normalnym oknie. Płaszczyzny
te obsługują np. bit przezroczystości, który kiedy jest ustawiony,
pozwala być widocznymi pikselom znajdującym się pod spodem nałożonego
okna. Są one tworzone jako dwie oddzielne warstwy zachowując zawartość
głównego okna graficznego i zwiększając ogólną wydajność.
Czyszczenie i przerysowywanie tylko okna „overlay”
jest o wiele szybsze niż całego, głównego okna graficznego, np. w
przypadku animowanych składników interfejsu użytkownika, które są
rysowane nad modelami lub scenami 3D.

Rys.4. Przykład nakładania płaszczyzn w oknie programu
Solid Edge.
Poczwórne buforowanie stereo
Rodzina procesorów Quadro® wspomaga poczwórne
buforowanie stereo, rodzina GPU GeForce® tego nie potrafi. Poczwórne
buforowanie stereo jest jedną z funkcji OpenGL służącą do tworzenia
obrazu stereoskopowego na ekranie płaskiego monitora. Generowane są dwa
obrazy, dla każdego oka obserwatora oddzielnie i dla każdego podwójnie
buforowane. Wyświetlane są one z przeplotem lub bez, zależnie od
urządzenia wyjściowego.
Wiele aplikacji profesjonalnych tak jak CATIA,
SolidWorks lub StudioTools udostępnia użytkownikom możliwość oglądania
modeli lub scen w trzech wymiarach, używając mechanizmu wyświetlania
stereoskopowego. Funkcjonalność ta może być dostępna bezpośrednio w
programie (CATIA), można ją uzyskać za pomocą plug-in’a (SolidWorks) lub
przy pomocy zewnętrznej przeglądarki (QuadroView f-my NVIDIA).
Użycie obrazu stereoskopowego pomaga przy
przeglądaniu złożonych konstrukcji szkieletowych, tworzeniu
realistycznych „podróży” w wirtualnym świecie lub po prostu do pokazania
we właściwych proporcjach dużych scen 3D.
Wsparcie stereo ze strony rodziny kart Quadro®
pozwala na pełne wykorzystanie możliwości jakie mają profesjonalne
aplikacje.

Rys.5. Opcje służące do ustawiania trybu stereo w
SolidWorks.
2. Optymalizacja aplikacji
NVIDIA bardzo ściśle współpracuje ze wszystkimi
producentami oprogramowania dla stacji roboczych. Wśród nich znajdują
się tak znane firmy i ich produkty jak: Autodesk (AutoCAD i Inventor),
Dassault (CATIA i SolidWorks), MultiGen-Paradigm (Creator Terrain Studio
i Vega Prime), PTC (Pro/ENGINEER), UGS (UnigraphicsNX, I-deas i Solid
Edge).
Poprzez ścisłą współpracę z tymi i innymi twórcami
oprogramowania, NVIDIA gwarantuje, że aplikacje będą miały pełne
wsparcie ze strony wszystkich cech GPU a sterowniki będą optymalizowane
do potrzeb aplikacji. Panel kontrolny grafiki procesora Quadro® pozwala
użytkownikowi na ustawienie parametrów specyficznych dla danej
aplikacji. Te ustawienia są dostępne poprzez panel kontrolny OpenGL.
Panel oraz specyficzne dla danej aplikacji ustawienia optymalizujące
pracę sterownika są niedostępne w rodzinie procesorów dla rynku
konsumenckiego.

Rys.6. Zakładka sterownika karty NVIDIA Quadro®.
3. Certyfikacja
Sterowniki dla stacji roboczych przechodzą
rygorystyczne testy jakościowe już w samej firmie NVIDIA. Poprzez
testowanie nowych sterowników z wieloma aplikacjami, przy różnych
konfiguracjach sprzętowych, NVIDIA ma możliwość wychwycenia ewentualnych
niedociągnięć i udostępnienia w szybkim czasie nowych, poprawionych
wersji.
Również producenci oprogramowania sprawdzają różne
rozwiązania sprzętowe i wystawiają im stosowne certyfikaty. Praktycznie
wszyscy, na swych stronach internetowych w działach poświęconych
wsparciu technicznemu, zamieszczają listy kart graficznych ze
szczegółowymi informacjami o przetestowanych kombinacjach: wersja
programu – wersja sterownika karty – model karty graficznej. Są to
rekomendacje dla użytkowników będące jednocześnie dowodem gwarancji
poprawnej pracy danego oprogramowania i sprzętu.
Podsumowanie
Karty graficzne Quadro® firmy NVIDIA zawierają więcej
niż tylko procesory o dodatkowych cechach sprzętowych i wsparciu
sterownika aplikacji. Są to kompletne rozwiązania sprzętowo-programowe,
za którymi stoi dedykowane wsparcie techniczne i serwis oraz gwarancja
poprawnej pracy ze wszystkimi profesjonalnymi aplikacjami a zunifikowana
architektura sterownika zapewnia optymalną implementację OpenGL dla obu
zastosowań, profesjonalnego i konsumenckiego.
1) Standard Performance Evaluation
Corporation (SPEC) jest organizacją typu „non-profit” utworzoną w celu
tworzenia, obsługi i wspierania zestandaryzowanego
zestawu istotnych benchmark’ów, które mogą być stosowane
do najnowszej generacji komputerów o najwyższych wydajnościach. SPEC
opracowuje zestaw programów testujących jak również recenzje i
publikacje przedstawiające wyniki testów członków organizacji i innych
licencjobiorców. Sztandarowym produktem tej organizacji jest
najpopularniejszy program do testowania stacji roboczych z programami
CAD i DCC – SPECviewperf® |