Co to są teraflopy (TFLOPS) i ile faktycznie mówią o wydajności karty graficznej?

Co to są teraflopy (TFLOPS) i ile faktycznie mówią o wydajności karty graficznej?

Deklarowana przez producentów wydajność kart GTX 1060, RX 480 i RX 470 wynosi odpowiednio około 3.85, 5.835 oraz 4.94 TFLOPS. W oparciu o faktycznie taktowania uzyskane przez kilka testowanych w przeszłości modeli, zweryfikowałem te wartości:

GTX 1060 vs RX 480 vs RX 470 - rzeczywiste wartości TFLOPS (FP32)
  Rzeczywiste taktowanie: TFLOPS:
Asus GTX 1060 ROG Strix 2000 MHz 5,12 TF
Zotac GTX 1060 AMP! 1880 MHz 4,81 TF
Asus RX 480 ROG Strix 1254 MHz 5,78 TF
XFX RX 480 Core Ed. 1220 MHz 5,62 TF
MSI RX 470 Gaming X 1242 MHz 5,09 TF
XFX RX 470 RS Triple 1140 MHz 4,67 TF

A cóż to wszystko oznacza z punktu widzenia gracza? Nic konkretnego, co doskonale wykazuje pierwszy z brzegu test praktyczny. Różnice w parametrze TFLOPS nie są oddawane przez rzeczywistą wydajność nawet w obrębie układów z tego samego obozu. Jeśli jesteście ciekawi dlaczego tak jest, to śpieszę z wyjaśnieniem. Podstawowych powodów jest kilka - poza tymi wynikającymi bezpośrednio z definicji FLOPS, przytoczonymi na poprzedniej podstronie.

Zobacz: Test karty graficznej Asus RX 480 ROG Strix Gaming

Upraszczając, obraz generowany przez kartę graficzną tworzony jest w kilkuetapowym procesie. Akcelerator musi najpierw określić rodzaj danych binarnych otrzymanych od procesora centralnego, a następnie zbudować na ich bazie trójwymiarową siatkę - z trójkątów. Dopiero na tym etapie zaczyna się proces cieniowania, na który składają się m.in.: nadanie koloru i powierzchni, określenie pozycji obiektów, oświetlenie sceny czy wyliczenie geometrii. Na tak przygotowany obraz nakładane są tekstury, ale materiał wciąż nie nadaje się do wyświetlenia na monitorze - bo ten wymaga grafiki rastrowej, czyli przedstawionej w formie określonej liczby pikseli. Co oczywiste, nad dwoma ostatnimi zadaniami czuwają kolejno jednostki teksturujące oraz rasteryzujące. Dodatkowo, w tle pojawia się także kwestia sterownika i translacji środowiska programistycznego (np. DX 11) na kod maszynowy zrozumiały dla karty graficznej. GPU nie potrafi bowiem samo z siebie interpretować API - chyba, że programiści wydadzą tzw. rozkazy niskiego poziomu. Jest to możliwe tylko w przypadku pisania aplikacji pod konkretną architekturę, co znacznie zwiększa złożoność kodu, w efekcie czego nawet na konsolach instrukcje "low-level" nie są standardem.

Tak więc nawet jeśli naiwnie założymy, że parametr TFLOPS oddaje potencjał procesorów strumieniowych, a ich wydajność skaluje się wprost proporcjonalnie z taktowaniem, co wynika ze wzoru, końcową wydajność karty graficznej warunkuje znacznie, znacznie więcej czynników. I tak, kwestię pamięci pominąłem celowo, by nakreślić temat  możliwie prostymi środkami.

Obserwuj nas w Google News

Pokaż / Dodaj komentarze do: Co to są teraflopy (TFLOPS) i ile faktycznie mówią o wydajności karty graficznej?

 0