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
zaakceptowad nagłych awarii systemu, irytujących błędów programu lub dających się uniknąd
opóźnieo 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 byd sprawdzony pod każdym względem, powinien byd 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® FX i Quadro®
NVS.
Quadro® FX 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śd łączenia
wyświetlanego obrazu z dowolnej liczby monitorów (ograniczenia wynikają wyłącznie z systemu
operacyjnego) pozwala obsługiwad 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śd z nich zapomina jest fakt, że w szczególności to właśnie
podobieostwo 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 starao aby
stworzyd perfekcyjne rozwiązanie dla obu zastosowao.
Trzeba jednak sobie zdawad sprawę, że pomimo pozornego podobieostwa 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śd profesjonalnych aplikacji wspiera tę właściwośd 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śd 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
byd zaimplementowane jako ostatni krok etapu renderingu, zanim zawartośd 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ąd 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śd i przede wszystkim wydajnośd. 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ąd na jakośd wyświetlanego obrazu i jakośd grafiki. Jeśli okno nie jest przesłaniane przez
inne okno, cała zawartośd bufora koloru może byd 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 byd 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ąd obiekty 3D tak by użytkownik mógł zajrzed do wnętrza obiektu.
Pokazywanie obiektów w przekroju jest szczególnie przydatne przy wizualizacji złożeo. 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śd profesjonalnych
aplikacji.
Różnice w wydajności (przy zastosowaniu sprzętowych płaszczyzn przekroju i bez) pokazuje np. test
UGS-04 w SPECviewperf® 8.1
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śd aplikacji a co za
tym idzie oferuje wyraźną różnicę (na plus) w stosunku do zorientowanej na rynek konsumencki
rodziny GPU GeForce®.
Pamięd grafiki wykorzystywana jest na bufor ramki, tekstury, pamięd podręczną i dane. Zunifikowana
architektura pamięci (UMA) dynamicznie przydziela zasoby zamiast trzymania stałego rozmiaru dla
bufora ramki. Wolna pamięd bufora ramki, zamiast pozostad niewykorzystana, może zostad 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ą zniszczyd zawartośd zakrywanego okna lub wpłynąd na
wydajnośd aplikacji i jej interaktywnośd. Aby tego uniknąd, 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 zawierad 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 byd widocznymi pikselom
znajdującym się pod spodem nałożonego okna. Są one tworzone jako dwie oddzielne warstwy
zachowując zawartośd głównego okna graficznego i zwiększając ogólną wydajnośd.
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śd oglądania modeli lub scen w trzech wymiarach, używając mechanizmu wyświetlania
stereoskopowego. Funkcjonalnośd ta może byd dostępna bezpośrednio w programie (CATIA), można
ją uzyskad 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śd wychwycenia ewentualnych niedociągnięd 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 zastosowao, 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ą byd 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®
8.1
Źródło: http://www.servodata.com.pl/hardware/pny/quadro/articles/quadro_geforce.htm