RSS

Karta graficzna ma podstawowe znaczenie

Liczba odsłon: 28

W naszych komputerach znajdują się coraz szybsze mikroprocesory, coraz więcej rdzeni i coraz pojemniejsza pamięć. Również karty graficzne są coraz szybsze, ich wydajność jednak przemawia głównie do graczy. Dla typowego użytkownika komputera, cały czas pracującego z dwuwymiarowym pulpitem systemu, wydajność karty graficznej zdaje się mieć znikome znaczenie.

Ostatnio, w związku z modernizacją służbowego komputera, musiałem dwa dni pracować na wypożyczonej karcie S3 ViRGE 4 MiB PCI (nowa płyta główna była wyposażona w gniazdo PCI Express, a nie AGP, a docelowa karta graficzna chwilowo nie dotarła). Karta ta – swego czasu „demon szybkości” zapewniający komfortową pracę w Windows 95 – była tak koszmarnie wolna, że proste przewijanie zawartości okna wypełnionego tekstem stawało się zadaniem, przy którym z całych sił kibicowałem komputerowi. Próbując oglądnąć bardziej skomplikowaną graficznie stronę WWW należało uzbroić się w jeszcze większą dozę cierpliwości.

ViRGE jest być może przykładem ekstremalnym, rozbudowując stary komputer warto jednak sprawdzić, czy jego karta graficzna jest względnie nowoczesna i zapewnia przyzwoitą wydajność generowania obrazu. Powolna grafika z łatwością sprowadzi bowiem szybkość pracy nowoczesnego, dwu- czy czterordzeniowego monstrum do poziomu Pentium 200 MHz.


Zastanawiam się czym mamić bedą producenci sprzętu za kilka lat – już teraz większość użytkowników nie wykorzystuje nawet 10% możliwości kart graficznych to co bedzie dalej. Jak kolorowy będzie kolejny system i po co przede wszystkim? W końcu w nieskończoność nie będą podnosić rozdzielczości ekranów
Nawiązując do postu Tomaszka. Wydaje mi się, że przyszłość tkwi w ilości/wydajności procesorów. Karty graficzne, to moim zdaniem tylko takie "protezy". W chwili, gdy ray-tracing stanie się możliwy w czasie rzeczywistym tzn. zaoferuje "grywalną" wydajność na popularnym domowym sprzęcie, wszelkie open-gl i direct-x odejdą w przeszłość. A może problem tkwi gdzie indziej? W każdym bądź razie patrzenie na rozdzielczość to coś podobnego do patrzenia na ilość megapikseli w aparacie pomijając całkowicie optykę, prędkość zczytywania danych z matrycy itp.
Przynajmniej widać, że Windows stara się wykorzystywać GPU do swoich "graficznych celów", a nie CPU. :)

@Piotrek: API takim jak jest OpenGL(r), czy DirectX(r), pozostanie. Co najwyżej umożliwi, że zamiast prostych operacji wykonywanych przez kartę graficzną, programista będzie mógł tworzyć programy. Które będą wykonywane przez GPU. Tak, że system operacyjny komputera, będzie jedynie pełnił funkcję nadzorowania działania GPU.
W momencie, gdy raytracing w czasie rzeczywistym bedzie mozliwy gry nagle cudownie nie przejda na raytracing, bo i wtedy bedzie oczywiste, ze prosciej uciekajac do "sztuczek", roznego rodzaju technik, mozna osiagnac takie same lub i ciekawsze rezultaty przy pomocy dalszego rozwoju obecnych technik. Poza tym sam raytracing dac moze srednie rezultaty. Wlasciwie to wykorzystanie cieni przy pomocy buforow szablonu daje niemalze identyczne rezultaty w wiekszosci przypadkow. Radiosity w czasie rzeczywistym, to byloby cos, ale w tej chwili jest ambient occlusion, a w przyszlosci prosciej bedzie radiosity udawac przy pomocy lokalnych map swiatla. Zreszta artysci chca miec kontrole nad koncowym efektem, a taka prosciej jest udawac, niz starac sie odwzorowac rzeczywistosc (przeciez krecac film nie zawsze korzysta sie tylko z naturalnego oswietlenia, biegaja przeciez ludzie z plachtami odbijajacymi swiatlo, ustawia sie reflektory w konkretnych miejscach itd. jakby to mialo w grze wygladac?)
Nie ma sensu przerzucać generowania obrazu na CPU. Przecież ray-tracing może równie dobrze wykonywać specjalizowane GPU, przystosowane do tego zadania i w efekcie znacznie szybsze, niż najszybsze CPU. Zawsze układ sprzętowy będzie szybszy od programowanego.