Servodata - strona główna NVIDIA Preferred Solution Provider PNY NVIDIA Quadro Authorized Partner

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.

Wyłączone wygładzanie liniiwłączone wygładzanie linii

 

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.

 

Selekcja w programie Catia V5

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)

Zastosowanie płaszczyzn przekroju w programie Solid Edge

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.

Przykład nakładania płaszczyzn w oknie programu Solid Edge

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.

Opcje służące do ustawiania trybu stereo w SolidWorks

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.

 Zakładka sterownika karty NVIDIA Quadro®

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®