GPU — co to jest, budowa i zasada działania

Autor: IT Sectr Opublikowano: 2026-06-10 Czas czytania: 9 min

GPU (Graphics Processing Unit) — to wyspecjalizowany procesor do równoległego przetwarzania danych graficznych, wykonujący miliony obliczeń na pikselach i wierzchołkach na klatkę. W przeciwieństwie do CPU, który jest zoptymalizowany do zadań sekwencyjnych z niskim opóźnieniem, GPU zawiera tysiące niskonapięciowych rdzeni do masowych operacji matematycznych. Według NVIDIA Developer Blog (2025), nowoczesne mobilne GPU zawierają do 1024 rdzeni i osiągają wydajność 2 TFLOPS w obciążeniach obliczeniowych. Programiści integrują GPU do renderowania, post-processingu i uczenia maszynowego na urządzeniu.

Najważniejsze

  • GPU — wyspecjalizowany procesor z tysiącami rdzeni do równoległego przetwarzania grafiki i obliczeń.
  • Architektura GPU opiera się na potoku SIMD: jedna instrukcja wykonywana jest na wielu danych jednocześnie.
  • GPU w urządzeniach mobilnych jest wbudowany w SoC i dzieli pamięć z CPU poprzez architekturę Unified Memory.
  • GPU Computing (GPGPU) wykorzystuje procesor graficzny do zadań niegraficznych: ML, kryptografia, przetwarzanie sygnałów.
  • API dostępu do GPU na platformach mobilnych: Vulkan, Metal, OpenGL ES i WebGL dla przeglądarek.

Czym jest GPU?

GPU (Graphics Processing Unit) — to wyspecjalizowany układ scalony zaprojektowany do masowego równoległości. Pierwsze GPU pojawiły się pod koniec lat 90. jako akceleratory grafiki 3D dla komputerów stacjonarnych. Od tego czasu architektura ewoluowała od stałego potoku do programowalnych shaderów i uniwersalnych bloków obliczeniowych.

Główne przeznaczenie GPU to rasteryzacja: przekształcanie danych geometrycznych (wierzchołki, trójkąty) w piksele na ekranie. Proces obejmuje transformację wierzchołków, odcinanie niewidocznych powierzchni, teksturowanie i mieszanie kolorów. Wszystkie te operacje wykonywane są równolegle dla tysięcy elementów jednocześnie.

Według danych Jon Peddie Research (2025), rynek mobilnych GPU stanowi 58% całkowitego wolumenu procesorów graficznych, wyprzedzając rozwiązania dyskretne dla PC i serwerów. Każdy smartfon zawiera co najmniej jeden GPU zintegrowany w System-on-Chip (SoC) wraz z CPU, DSP i neuroprocesorem.

Nowoczesne GPU dzielą się na dwa typy: zintegrowane (wbudowane w SoC, dzielą pamięć z CPU) i dyskretne (osobna karta z własną pamięcią wideo). W programowaniu mobilnym wykorzystywane są wyłącznie zintegrowane GPU — Qualcomm Adreno, ARM Mali, Apple GPU i Imagination PowerVR.

Historia rozwoju GPU

Ewolucja GPU przeszła trzy etapy: stały potok (1999–2006), ujednolicone shadery (2006–2016) i programowalne rdzenie obliczeniowe (2016 — obecnie). Pierwszy etap definiował sztywną sekwencję operacji — transformacja, oświetlenie, teksturowanie. Programista nie mógł ingerować w potok.

Wraz z pojawieniem się ujednoliconych shaderów GPU zyskał możliwość wykonywania dowolnych programów — shaderów napisanych w HLSL lub GLSL. Otworzyło to drogę do GPGPU — wykorzystania GPU do zadań niegraficznych. Trzeci etap dodał rdzenie tensorowe do uczenia maszynowego i śledzenia promieni w czasie rzeczywistym.

W mobilnych GPU kluczowym przełomem było wprowadzenie Tile-Based Deferred Rendering (TBDR) — architektury, w której klatka dzielona jest na tile (16x16 pikseli) i przetwarzana w szybkiej pamięci lokalnej. Zmniejsza to zużycie energii 3–5 razy w porównaniu z immediate mode rendering, charakterystycznym dla stacjonarnych GPU.

Architektura GPU

Architektura GPU radykalnie różni się od CPU. Zamiast kilku potężnych rdzeni z dużą pamięcią podręczną, GPU zawiera setki lub tysiące prostych bloków obliczeniowych zoptymalizowanych dla SIMD (Single Instruction, Multiple Data) — jedna instrukcja wykonywana jest na wielu elementach danych.

Podstawowy blok GPU to Shader Core (w terminologii NVIDIA) lub Execution Unit (Intel). Kilka takich bloków łączy się w Compute Unit (AMD) lub Streaming Multiprocessor (NVIDIA). Każdy blok zawiera ALU do arytmetyki, plik rejestrów i planista warpów (grup wątków).

Mobilne GPU różnią się architektonicznie od stacjonarnych. Qualcomm Adreno wykorzystuje architekturę z programowalnymi procesorami shaderów i dedykowanym blokiem rasteryzacji. ARM Mali opiera się na Bifrost lub Valhall — architekturach z kwartetowym przetwarzaniem warpów. Apple GPU od 2017 roku ma własny projekt z obsługą Metal i ujednoliconą pamięcią.

ProducentLinia GPUArchitekturaAPI
QualcommAdreno 6xx/7xx/8xxProgramowalne procesory shaderówVulkan, OpenGL ES
ARMMali-G seriesBifrost / ValhallVulkan, OpenGL ES
AppleApple GPU (A13–A18)Własny projektMetal
ImaginationPowerVR IMGFurian / B-SeriesVulkan, OpenGL ES

Kluczową cechą mobilnych GPU jest Unified Memory Architecture (UMA). GPU i CPU korzystają ze wspólnej pamięci RAM bez osobnej pamięci wideo. Zmniejsza to opóźnienia przy wymianie danych i upraszcza programowanie, ale ogranicza przepustowość przy intensywnych obliczeniach.

GPU vs CPU: kluczowe różnice

CPU jest zaprojektowany do zadań sekwencyjnych z minimalnym opóźnieniem. Zawiera 4–12 potężnych rdzeni z dużą pamięcią podręczną L1/L2/L3, predyktorem skoków i wykonaniem spekulacyjnym. GPU natomiast poświęca opóźnienie na rzecz przepustowości — tysiące rdzeni przetwarza dane z wysokim opóźnieniem, ale ogromną wydajnością skumulowaną.

Różnica uwidacznia się w FLOPS (operacjach zmiennoprzecinkowych na sekundę). Najlepszy mobilny SoC 2025 roku: CPU — 200 GFLOPS, GPU — 2400 GFLOPS. GPU przewyższa CPU 12 razy w zadaniach dopuszczających równoległość. Jednak w algorytmach sekwencyjnych CPU pozostaje szybszy ze względu na mniejsze narzuty na zarządzanie wątkami.

W praktyce programista używa CPU do logiki aplikacji, UI i IO, a GPU do renderowania, przetwarzania obrazów, symulacji fizyki i inferencji sieci neuronowych. Według Google Android Performance Patterns (2025), optymalne obciążenie GPU w aplikacjach mobilnych wynosi 60–80% — przeciążenie prowadzi do throttlingu i przegrzewania.

cpp
// CPU — przetwarzanie sekwencyjne
for (int i = 0; i < N; i++) {
    result[i] = data[i] * 2.0f;
}

// GPU — przetwarzanie równoległe (GLSL compute shader)
#version 300 es
layout(local_size_x = 256) in;
void main() {
    uint idx = gl_GlobalInvocationID.x;
    result[idx] = data[idx] * 2.0f;
}

Kod na CPU wykonuje mnożenie sekwencyjnie dla każdego elementu. Wersja GPU uruchamia 256 wątków równolegle, każdy mnoży swój element. Dla N=1 mln GPU wykona zadanie 100–1000 razy szybciej niż CPU na jednym rdzeniu.

GPU w urządzeniach mobilnych

Mobilne GPU działają w ścisłych ograniczeniach wydzielania ciepła i zużycia energii. Typowy TDP mobilnego GPU wynosi 2–8 W, w porównaniu do 150–450 W w przypadku stacjonarnych odpowiedników. Wymaga to specjalnej architektury z naciskiem na efektywność energetyczną, a nie szczytową wydajność.

Główna technologia oszczędzania energii to Tile-Based Rendering. Klatka dzielona jest na tile 16x16 lub 32x32 piksele. Każdy tile przetwarzany jest w całości w szybkiej pamięci SRAM (Tile Memory), a następnie zapisywany do zewnętrznej DRAM. Zmniejsza to liczbę dostępów do pamięci 4–10 razy w porównaniu z immediate mode.

Qualcomm Adreno — najpopularniejszy mobilny GPU. Adreno 750 (Snapdragon 8 Gen 3) zawiera 12 procesorów shaderów ze wspólną pulą rejestrów. Obsługuje Vulkan 1.3, OpenGL ES 3.2, OpenCL 3.0 i śledzenie promieni na poziomie rdzenia. Według Qualcomm (2025), Adreno zapewnia wzrost wydajności o 45% w generacji przy zachowaniu zużycia energii.

ARM Mali — drugi pod względem popularności GPU w urządzeniach z Androidem. Mali-G720 oparty jest na architekturze Valhall 5. generacji z obsługą Variable Rate Shading i ASTC HDR. Cechą charakterystyczną Mali jest przetwarzanie kwartetowe: cztery wątki łączone są w jeden warp dla lepszego wykorzystania ALU.

Apple GPU projektowany jest wyłącznie dla Metal API. Od A13 Bionic Apple stosuje własny projekt GPU z obsługą Metal 3, śledzenia promieni i mesh-shaderów. Architektura Apple GPU wyróżnia się Unified Memory z przepustowością do 800 GB/s na M4 Ultra.

Zużycie energii i throttling

Throttling GPU — obniżenie częstotliwości przy przegrzaniu — to główny problem gier mobilnych. Przy długotrwałym obciążeniu temperatura SoC osiąga 85–95°C, a GPU obniża częstotliwość o 30–50%. Według AnandTech (2025), Qualcomm Adreno 750 traci do 35% wydajności po 15 minutach w Genshin Impact.

Programista może złagodzić throttling poprzez optymalizację draw-calls, obniżenie rozdzielczości renderowania i wykorzystanie Foveated Rendering. Metal Performance Shaders na iOS i Android Frame Pacing API na Android pomagają synchronizować obciążenie z budżetem termicznym urządzenia.

GPGPU: obliczenia na GPU

GPGPU (General-Purpose computing on GPU) — wykorzystanie procesora graficznego do obliczeń niegraficznych. Pomysł narodził się w połowie lat 2000., gdy programiści zauważyli, że shadery można zaadaptować do operacji macierzowych, kryptografii i symulacji fizyki.

Dziś GPGPU to standardowe narzędzie do zadań wymagających masowego równoległości: uczenie maszynowe (trenowanie i inferencja sieci neuronowych), kryptografia (haszowanie, szyfrowanie), przetwarzanie obrazów i wideo (filtry, kodeki), symulacje naukowe (hydrodynamika, chemia kwantowa).

Na urządzeniach mobilnych GPGPU stosowane jest poprzez Compute Shaders — shadery bez wyjścia graficznego, działające tylko na danych. Compute Shader uruchamia Grid z grup roboczych, każda grupa zawiera kilka wątków. Dostęp do pamięci — przez bufory i tekstury bez powiązania z ekranem.

glsl
#version 310 es
layout(local_size_x = 16, local_size_y = 16) in;
layout(binding = 0) buffer Input  { float data[]; };
layout(binding = 1) buffer Output { float result[]; };

void main() {
    uvec2 idx = gl_GlobalInvocationID.xy;
    uint offset = idx.y * gl_NumWorkGroups.x * gl_WorkGroupSize.x + idx.x;
    result[offset] = sqrt(data[offset]) + 1.0;
}

Przykład compute shader oblicza pierwiastek kwadratowy dla każdego elementu tablicy. Grupa robocza 16x16 przetwarza 256 elementów jednocześnie. Nowoczesne mobilne GPU obsługują do 1024 grup roboczych i miliony globalnych wątków.

API do pracy z GPU

API dostępu do GPU określają, w jaki sposób programista wysyła polecenia i dane do procesora graficznego. Na platformach mobilnych stosowane są trzy główne API: Vulkan, Metal i OpenGL ES. Każde ma swoje zalety i ograniczenia, które wpływają na wydajność i kompatybilność.

Vulkan

Vulkan — niskopoziomowe, wieloplatformowe API od Khronos Group, następca OpenGL. Vulkan daje programiście bezpośrednią kontrolę nad pamięcią GPU, kolejkami poleceń i synchronizacją. Według Khronos (2025), Vulkan zapewnia wzrost wydajności o 30–60% w porównaniu z OpenGL ES dzięki zmniejszeniu narzutów sterownika.

Na Androidzie Vulkan jest wymagany od Androida 7.0 (API 24), ale wszystkie nowoczesne SoC obsługują Vulkan 1.3. Vulkan Memory Allocator i SPIR-V jako kod pośredni pozwalają pisać shadery w GLSL, HLSL lub Rust GPU.

Metal

Metal — autorskie API Apple dla GPU na wszystkich urządzeniach ekosystemu: iPhone, iPad, Mac, Apple TV. Metal zapewnia minimalne narzuty i przewidywalny czas wykonania poleceń. Według Apple Developer Documentation (2025), Metal obsługuje do 100 000 draw-calls na klatkę bez spadku FPS.

Kluczowa cecha — Metal Shading Language (MSL) oparty na C++. Shadery kompilowane są do kodu maszynowego razem z aplikacją, co eliminuje kompilację JIT, typową dla Vulkan. Metal obsługuje Mesh Shaders, Ray Tracing i Dynamic Libraries do ładowania shaderów w czasie wykonania.

OpenGL ES

OpenGL ES — uproszczona wersja OpenGL dla systemów wbudowanych. Stosowana na starszych urządzeniach i do zapewnienia kompatybilności wstecznej. OpenGL ES 3.2 jest obsługiwany na 94% urządzeń z Androidem według Android Studio (2025). Dla nowych projektów Google zaleca Vulkan zamiast OpenGL ES.

WebGL — przeglądarkowy odpowiednik OpenGL ES, podstawa grafiki 3D w internecie. WebGL 2.0 (odpowiednik OpenGL ES 3.0) jest obsługiwany na 92% przeglądarek mobilnych. WebGPU — następna generacja, z architekturą bliską Vulkan i Metal.

Często zadawane pytania

Czym różni się mobilny GPU od stacjonarnego?

Mobilny GPU działa w pakiecie cieplnym 2–8 W, wykorzystuje Tile-Based Rendering do oszczędzania energii i dzieli pamięć z CPU przez UMA. Stacjonarny GPU pobiera 150–450 W, ma osobną pamięć wideo (GDDR) i używa Immediate Mode Rendering.

Jaki mobilny GPU jest najbardziej wydajny w 2026 roku?

Apple GPU w układzie M4 Ultra i A18 Pro — lider wydajności na wat wśród mobilnych GPU. Wśród urządzeń z Androidem lideruje Qualcomm Adreno 850 w Snapdragon 8 Gen 4 i ARM Mali-G925 w MediaTek Dimensity 9500.

Czy można używać GPU do uczenia maszynowego na urządzeniach mobilnych?

Tak, GPU jest aktywnie wykorzystywane do inferencji sieci neuronowych przez Core ML na iOS i TensorFlow Lite / NNAPI na Androidzie. Według Google (2025), akceleracja GPU daje wzrost prędkości 3–10 razy w porównaniu z CPU.

Dlaczego GPU grzeje się i throttluje w grach mobilnych?

Throttling występuje z powodu przekroczenia budżetu cieplnego. Przy długotrwałym obciążeniu temperatura SoC osiąga 85–95°C, a GPU obniża częstotliwość w celu ochrony układu. Rozwiązanie — optymalizacja renderowania i stosowanie limitów FPS (30–45 FPS).

Które API wybrać do grafiki GPU na Androidzie?

Vulkan — główny wybór dla nowych projektów. OpenGL ES — dla kompatybilności wstecznej ze starszymi urządzeniami. Metal — obowiązkowy dla iOS. Do programowania wieloplatformowego używaj frameworków takich jak Unity, Unreal Engine lub Filament.

Podsumowanie

  • GPU — wyspecjalizowany procesor z tysiącami rdzeni do równoległego przetwarzania danych i akceleracji grafiki.
  • Architektura GPU wykorzystuje potok SIMD, Tile-Based Rendering i Unified Memory dla mobilnych SoC.
  • GPU vs CPU: GPU przewyższa CPU 10–12 razy w FLOPS w zadaniach z masowym równoległością, ale ustępuje w algorytmach sekwencyjnych.
  • Mobilne GPU od Qualcomm, ARM, Apple i Imagination działają w ścisłym limicie 2–8 W i podlegają throttlingowi.
  • GPGPU przez Compute Shaders stosowane jest do ML, kryptografii, przetwarzania obrazów i symulacji naukowych.
  • Vulkan i Metal — główne API dla nowoczesnych aplikacji mobilnych, zapewniające niskopoziomową kontrolę nad GPU.
  • Optymalizacja GPU obejmuje zarządzanie draw-calls, limity FPS i wykorzystanie Foveated Rendering do zmniejszenia wydzielania ciepła.

Opracujemy aplikację mobilną pod klucz

IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.

Omów projekt

Przeczytaj również