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.
Pokaż / Dodaj komentarze do: Co to są teraflopy (TFLOPS) i ile faktycznie mówią o wydajności karty graficznej?