DirectX 10 bez akceleratora 3D

Pomysł programowej emulacji akceleratora 3D wydaje się absurdalny. Karty graficzne wspomagające generowanie grafiki trójwymiarowej powstały przecież właśnie dlatego, że mikroprocesory sterujące pracą komputerów były... zbyt uniwersalne. Akcelerator nie potrafi przeprowadzać obliczeń o takiej precyzji, jak procesor główny, jednak operacje graficzne (głównie przekształcenia macierzowe) są w nim przeprowadzane bardzo wydajnie i na wielu obiektach jednocześnie - jest to możliwe dzięki równoległej pracy wielu dedykowanych bloków funkcyjnych.
Okazuje się jednak, że w niektórych sytuacjach programowa implementacja funkcji realizowanych zazwyczaj przez akcelerator może przynieść wymierne korzyści. Autorzy sterowników do kart graficznych mogą porównać efekty swojej pracy z obrazem wzorcowym, wychwytując artefakty i nieprawidłowości. Osoby rzadko grające mogą darować sobie kupno wydajnej karty, ale wciąż być w stanie od czasu do czasu uruchomić grę 3D. Twórcy gier i oprogramowania zyskują możliwość uproszczenia silników graficznych bez rezygnacji z zaawansowanych efektów wizualnych.
Te właśnie zalety są wymieniane przez Microsoft przy omawianiu biblioteki Windows Advanced Rasterization Platform (WARP), czyli zestawu komponentów realizujących programowo komplet efektów zawartych w Direct3D 10 oraz 10.1. Dzięki WARP funkcje grafiki trójwymiarowej staną się dostępne w środowiskach serwerowych (gdzie kart graficznych nie ma czasem wcale) i wirtualizowanych (gdzie system operacyjny nie ma dostępu do fizycznych urządzeń). Testowa wersja WARP została udostępniona w listopadowym DirectX SDK.
Należy zaznaczyć, że programowa emulacja akceleratora pozostanie o rzędy wielkości wolniejsza od rzeczywistego układu graficznego. Autorzy przytaczają wyniki pomiarów przeprowadzonych na grze Crysis (pozycja wymagająca wydajnej karty 3D, więc testowano rozdzielczość 800x600 przy najniższym poziomie detali). Na absolutnie topowym, ośmiordzeniowym procesorze Core i7 taktowanym zegarem 3GHz osiągnięto średnio... 7.36 klatki na sekundę. Wartość bardzo niska, jednak - co ważne - lepsza od wyników zaintegrowanego z chipsetem układu graficznego Intela, który mimo zgodności z DX10 osiągnął zaledwie 5.18 klatki na sekundę. W przypadku bardziej ekonomicznego Core2 Duo pracującego z częstotliwością 2.1GHz jest już dużo gorzej - zaledwie 2 klatki. Kosztujący kilkaset złotych akcelerator osiągnie bez większego problemu kilkadziesiąt razy więcej.
Windows Advanced Rasterization Platform będzie wbudowany w Windows 7, jako dodatek będzie go również można pobrać do Visty.
Więcej informacji: MSDN









Komentarze użytkowników(Strona 1 z 1)
ketinszu @ Dec 1st 2008 6:22AM
Bo cała idea jakoś się rozmyła. Pierwotnie DirectX miało być uniwersalnym API z odpowiednim zapleczem pozwalającym realizować zawsze te same cele, nie ważne jaki by był sprzęt. Czyli miało mieć zaszyte wszystkie możliwe efekty do realizowania programowo, jeśli sprzęt tego nie wspierał. Dopiero potem (jakoś DX5?) zaczęło się wsio rozjeżdżać, pojawił się soft wymagający konkretnego sprzętu lub konkretnego zestawu funkcji. I tak jakoś odeszliśmy w grach od idei systemu operacyjnego z pełną wirtualizacją sprzętu i wróciliśmy prawie do dosowych czasów, kiedy to pisze się pod konkretną elektronikę.