W dokumentacji jednego z elementów składowych komputera zamieszczono informację, że urządzenie wspiera OpenGL. Dokumentacja dotyczy
A. dysku twardego
B. karty graficznej
C. karty sieciowej
D. mikroprocesora
Pytanie z egzaminu CKE, czerwiec 2013 (arkusz E.12-X-13.05).
OpenGL to interfejs programistyczny API używany do generowania grafiki 2D i 3D, więc informacja o jego obsłudze w dokumentacji najczęściej dotyczy karty graficznej albo układu GPU zintegrowanego z procesorem. To właśnie karta graficzna, przez swój sterownik, udostępnia funkcje OpenGL aplikacjom, grom i programom technicznym, np. Blenderowi, programom CAD, symulatorom czy starszym grom 3D. W praktyce sama obecność karty graficznej nie wystarcza, bo liczy się też wersja OpenGL obsługiwana przez sprzęt i sterowniki. Dlatego przy instalacji oprogramowania graficznego warto sprawdzać wymagania typu OpenGL 3.3 lub OpenGL 4.6 oraz aktualizować sterowniki ze strony producenta GPU, a nie przypadkowo z niepewnych źródeł. Moim zdaniem to jest fajny przykład, że dokumentacja sprzętu nie opisuje tylko złącz i taktowania, ale też zgodność ze standardami branżowymi. Mikroprocesor wykonuje obliczenia ogólnego przeznaczenia, dysk twardy przechowuje dane, karta sieciowa obsługuje komunikację w sieci, a za renderowanie grafiki i wsparcie OpenGL odpowiada właśnie karta graficzna.
Informacja o obsłudze OpenGL nie pasuje do dokumentacji mikroprocesora w takim podstawowym sensie, w jakim pyta zadanie. Procesor CPU wykonuje instrukcje programu, zarządza obliczeniami i współpracuje z pamięcią operacyjną, ale sam standard OpenGL dotyczy przede wszystkim renderowania grafiki przez układ graficzny oraz jego sterownik. Czasem można się pomylić, bo we współczesnych komputerach procesor bywa zintegrowany z GPU, na przykład w układach Intel Core albo AMD Ryzen z grafiką zintegrowaną. Jednak wtedy obsługa OpenGL wynika z części graficznej, a nie z samego rdzenia CPU. To dość częsty haczyk w takich pytaniach. Karta sieciowa też nie jest dobrym wyborem, bo jej zadaniem jest transmisja danych w sieci Ethernet lub Wi-Fi, obsługa ramek, adresów MAC, czasem offload obliczeń sieciowych, ale nie renderowanie grafiki 3D. Dysk twardy również nie ma związku z OpenGL, bo odpowiada za trwałe przechowywanie danych, parametry typu pojemność, RPM, interfejs SATA czy czas dostępu. Można na nim zapisać sterownik graficzny albo grę korzystającą z OpenGL, ale to nie oznacza, że dysk ten standard wspiera. Typowy błąd myślowy polega na traktowaniu OpenGL jako zwykłego programu lub biblioteki oderwanej od sprzętu. W praktyce aplikacja wywołuje funkcje OpenGL, system przekazuje je do sterownika, a sterownik korzysta z możliwości karty graficznej. Dlatego przy diagnostyce problemów, na przykład gdy program 3D nie startuje, sprawdza się model GPU, wersję sterownika i obsługiwaną wersję OpenGL, a nie parametry dysku czy karty sieciowej.