GPU — wat is het, structuur en werkingsprincipe

Auteur: IT Sectr Gepubliceerd: 2026-06-10 Leestijd: 9 min

GPU (Graphics Processing Unit) — is een gespecialiseerde processor voor parallelle verwerking van grafische gegevens, die miljoenen berekeningen op pixels en vertices per frame uitvoert. In tegenstelling tot een CPU, die geoptimaliseerd is voor sequentiële taken met lage latentie, bevat een GPU duizenden energiezuinige kernen voor massale wiskundige bewerkingen. Volgens de NVIDIA Developer Blog (2025) bevatten moderne mobiele GPU's tot 1024 kernen en bereiken ze een prestatieniveau van 2 TFLOPS bij rekenbelastingen. Ontwikkelaars integreren GPU's voor rendering, nabewerking en machine learning op het apparaat.

Belangrijkste punten

  • GPU — gespecialiseerde processor met duizenden kernen voor parallelle verwerking van graphics en berekeningen.
  • GPU-architectuur is gebaseerd op een SIMD-pijplijn: één instructie wordt tegelijkertijd op meerdere gegevens uitgevoerd.
  • GPU in mobiele apparaten is geïntegreerd in de SoC en deelt het geheugen met de CPU via Unified Memory-architectuur.
  • GPU Computing (GPGPU) gebruikt de grafische processor voor niet-grafische taken: ML, cryptografie, signaalverwerking.
  • API's voor GPU-toegang op mobiele platforms: Vulkan, Metal, OpenGL ES en WebGL voor browsers.

Wat is een GPU?

GPU (Graphics Processing Unit) — is een gespecialiseerde microchip ontworpen voor massale parallellisme. De eerste GPU's verschenen eind jaren 1990 als 3D-graphicsversnellers voor desktop-pc's. Sindsdien is de architectuur geëvolueerd van een vaste pijplijn naar programmeerbare shaders en universele rekenblokken.

Het hoofddoel van een GPU — rasterisatie: het omzetten van geometrische gegevens (vertices, driehoeken) naar pixels op het scherm. Het proces omvat transformatie van vertices, wegsnijden van onzichtbare oppervlakken, texturen en kleurmenging. Al deze bewerkingen worden parallel uitgevoerd voor duizenden elementen tegelijk.

Volgens Jon Peddie Research (2025) vormt de mobiele GPU-markt 58% van het totale volume aan grafische processors, waarmee het discrete oplossingen voor pc's en servers overtreft. Elke smartphone bevat ten minste één GPU geïntegreerd in een System-on-Chip (SoC) samen met CPU, DSP en neuroprocessor.

Moderne GPU's worden in twee typen verdeeld: geïntegreerd (ingebouwd in de SoC, delen geheugen met CPU) en discreet (aparte kaart met eigen videogeheugen). In mobiele ontwikkeling worden uitsluitend geïntegreerde GPU's gebruikt — Qualcomm Adreno, ARM Mali, Apple GPU en Imagination PowerVR.

Geschiedenis van GPU-ontwikkeling

Evolutie van GPU doorliep drie fasen: vaste pijplijn (1999–2006), unified shaders (2006–2016) en programmeerbare rekenkernen (2016 — heden). De eerste fase definieerde een vaste volgorde van bewerkingen — transformatie, belichting, texturen. De ontwikkelaar kon niet ingrijpen in de pijplijn.

Met de komst van unified shaders kreeg de GPU de mogelijkheid om willekeurige programma's uit te voeren — shaders geschreven in HLSL of GLSL. Dit opende de weg naar GPGPU — het gebruik van GPU voor niet-grafische taken. De derde fase voegde tensorkernen toe voor machine learning en real-time ray tracing.

Bij mobiele GPU's was de belangrijkste mijlpaal de introductie van Tile-Based Deferred Rendering (TBDR) — een architectuur waarbij het frame wordt verdeeld in tiles (16x16 pixels) en verwerkt in snel lokaal geheugen. Dit vermindert het energieverbruik met 3–5 keer in vergelijking met immediate mode rendering, kenmerkend voor desktop GPU's.

GPU-architectuur

GPU-architectuur verschilt radicaal van CPU. In plaats van enkele krachtige kernen met grote cache bevat een GPU honderden of duizenden eenvoudige rekenblokken geoptimaliseerd voor SIMD (Single Instruction, Multiple Data) — één instructie wordt uitgevoerd op meerdere gegevenselementen.

Het basisblok van een GPU — Shader Core (in NVIDIA-terminologie) of Execution Unit (Intel). Meerdere van deze blokken worden gecombineerd in een Compute Unit (AMD) of Streaming Multiprocessor (NVIDIA). Elk blok bevat ALU voor rekenkunde, een registerbestand en een warp-planner (groepen threads).

Mobiele GPU's verschillen architectonisch van desktop-GPU's. Qualcomm Adreno gebruikt een architectuur met programmeerbare shader-processors en een dedicated rasterisatieblok. ARM Mali is gebaseerd op Bifrost of Valhall — architecturen met kwartetverwerking van warps. Apple GPU heeft sinds 2017 een eigen ontwerp met ondersteuning voor Metal en unified memory.

FabrikantGPU-lijnArchitectuurAPI
QualcommAdreno 6xx/7xx/8xxProgrammeerbare shader-processorsVulkan, OpenGL ES
ARMMali-G-serieBifrost / ValhallVulkan, OpenGL ES
AppleApple GPU (A13–A18)Eigen ontwerpMetal
ImaginationPowerVR IMGFurian / B-SeriesVulkan, OpenGL ES

Kernkenmerk van mobiele GPU's — Unified Memory Architecture (UMA). GPU en CPU gebruiken gedeeld RAM zonder apart videogeheugen. Dit vermindert latentie bij gegevensuitwisseling en vereenvoudigt programmeren, maar beperkt de bandbreedte bij intensieve berekeningen.

GPU vs CPU: belangrijkste verschillen

CPU is ontworpen voor sequentiële taken met minimale latentie. Het bevat 4–12 krachtige kernen met grote L1/L2/L3-cache, branch predictor en speculatieve uitvoering. GPU daarentegen offert latentie op voor bandbreedte — duizenden kernen verwerken gegevens met hoge latentie maar enorme totale prestaties.

Het verschil wordt zichtbaar in FLOPS (drijvende-kommabewerkingen per seconde). De beste mobiele SoC van 2025: CPU — 200 GFLOPS, GPU — 2400 GFLOPS. De GPU overtreft de CPU 12 keer bij taken die parallellisme toelaten. Voor sequentiële algoritmen blijft de CPU echter sneller vanwege lagere overhead voor threadbeheer.

In de praktijk gebruikt de ontwikkelaar de CPU voor applicatielogica, UI en IO, en de GPU voor rendering, beeldverwerking, fysicasimulatie en inferentie van neurale netwerken. Volgens Google Android Performance Patterns (2025) ligt de optimale GPU-belasting in mobiele apps op 60–80% — overbelasting leidt tot throttling en oververhitting.

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

// GPU — parallelle verwerking (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;
}

Code op de CPU voert de vermenigvuldiging sequentieel uit voor elk element. De GPU-versie start 256 threads parallel, elk vermenigvuldigt zijn eigen element. Bij N=1 miljoen voert de GPU de taak 100–1000 keer sneller uit dan een CPU op één kern.

GPU in mobiele apparaten

Mobiele GPU's werken onder strikte beperkingen van warmteafvoer en energieverbruik. De typische TDP van een mobiele GPU is 2–8 W, tegenover 150–450 W bij desktop-tegenhangers. Dit vereist een speciale architectuur met nadruk op energie-efficiëntie in plaats van piekprestaties.

De belangrijkste energiebesparende technologie — Tile-Based Rendering. Het frame wordt verdeeld in tiles van 16x16 of 32x32 pixels. Elke tile wordt volledig verwerkt in snel SRAM-geheugen (Tile Memory) en vervolgens weggeschreven naar externe DRAM. Dit vermindert geheugentoegangen met 4–10 keer in vergelijking met immediate mode.

Qualcomm Adreno — de meest voorkomende mobiele GPU. Adreno 750 (Snapdragon 8 Gen 3) bevat 12 shader-processors met een gedeelde registerpool. Ondersteunt Vulkan 1.3, OpenGL ES 3.2, OpenCL 3.0 en ray tracing op kernniveau. Volgens Qualcomm (2025) levert Adreno een prestatieverbetering van 45% per generatie bij gelijkblijvend energieverbruik.

ARM Mali — de op één na populairste GPU in Android-apparaten. Mali-G720 is gebaseerd op de Valhall-architectuur van de 5e generatie met ondersteuning voor Variable Rate Shading en ASTC HDR. Kenmerkend voor Mali is kwartetverwerking: vier threads worden gecombineerd in één warp voor betere ALU-benutting.

Apple GPU wordt uitsluitend ontworpen voor Metal API. Sinds A13 Bionic gebruikt Apple een eigen GPU-ontwerp met ondersteuning voor Metal 3, ray tracing en mesh-shaders. De Apple GPU-architectuur onderscheidt zich door Unified Memory met een bandbreedte tot 800 GB/s op de M4 Ultra.

Energieverbruik en throttling

GPU-throttling — frequentieverlaging bij oververhitting — is het grootste probleem van mobiele games. Bij langdurige belasting bereikt de SoC-temperatuur 85–95°C en verlaagt de GPU de frequentie met 30–50%. Volgens AnandTech (2025) verliest de Qualcomm Adreno 750 tot 35% van zijn prestaties na 15 minuten in Genshin Impact.

De ontwikkelaar kan throttling verminderen door optimalisatie van draw-calls, verlaging van de renderresolutie en gebruik van Foveated Rendering. Metal Performance Shaders op iOS en Android Frame Pacing API op Android helpen de belasting te synchroniseren met het thermische budget van het apparaat.

GPGPU: berekeningen op GPU

GPGPU (General-Purpose computing on GPU) — het gebruik van de grafische processor voor niet-grafische berekeningen. Het idee ontstond halverwege de jaren 2000, toen ontwikkelaars ontdekten dat shaders konden worden aangepast voor matrixbewerkingen, cryptografie en fysicasimulatie.

Tegenwoordig is GPGPU een standaardtool voor taken die massaal parallellisme vereisen: machine learning (trainen en inferentie van neurale netwerken), cryptografie (hashing, encryptie), beeld- en videoverwerking (filters, codecs), wetenschappelijke simulaties (hydrodynamica, kwantumchemie).

Op mobiele apparaten wordt GPGPU toegepast via Compute Shaders — shaders zonder grafische uitvoer, die alleen met gegevens werken. Compute Shader start een Grid van werkgroepen, elke groep bevat meerdere threads. Toegang tot geheugen — via buffers en textures zonder koppeling aan het scherm.

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;
}

Het voorbeeld van een compute shader berekent de vierkantswortel voor elk element van de array. Een werkgroep van 16x16 verwerkt 256 elementen tegelijk. Moderne mobiele GPU's ondersteunen tot 1024 werkgroepen en miljoenen globale threads.

API's voor werken met GPU

API's voor GPU-toegang bepalen hoe de ontwikkelaar opdrachten en gegevens naar de grafische processor stuurt. Op mobiele platforms worden drie belangrijke API's gebruikt: Vulkan, Metal en OpenGL ES. Elk heeft zijn voor- en nadelen die prestaties en compatibiliteit beïnvloeden.

Vulkan

Vulkan — een low-level cross-platform API van Khronos Group, opvolger van OpenGL. Vulkan geeft de ontwikkelaar directe controle over GPU-geheugen, command queues en synchronisatie. Volgens Khronos (2025) levert Vulkan een prestatieverbetering van 30–60% ten opzichte van OpenGL ES door vermindering van driver-overhead.

Op Android is Vulkan verplicht sinds Android 7.0 (API 24), maar alle moderne SoC's ondersteunen Vulkan 1.3. Vulkan Memory Allocator en SPIR-V als tussenliggende code maken het mogelijk shaders te schrijven in GLSL, HLSL of Rust GPU.

Metal

Metal — de propriëtaire Apple API voor GPU op alle apparaten in het ecosysteem: iPhone, iPad, Mac, Apple TV. Metal zorgt voor minimale overhead en voorspelbare uitvoeringstijd van opdrachten. Volgens Apple Developer Documentation (2025) verwerkt Metal tot 100.000 draw-calls per frame zonder FPS-daling.

Kernkenmerk — Metal Shading Language (MSL) gebaseerd op C++. Shaders worden samen met de applicatie gecompileerd naar machinecode, waardoor de JIT-compilatie die typisch is voor Vulkan wordt geëlimineerd. Metal ondersteunt Mesh Shaders, Ray Tracing en Dynamic Libraries voor het laden van shaders tijdens runtime.

OpenGL ES

OpenGL ES — een vereenvoudigde versie van OpenGL voor ingebedde systemen. Wordt gebruikt op oudere apparaten en voor achterwaartse compatibiliteit. OpenGL ES 3.2 wordt ondersteund op 94% van de Android-apparaten volgens Android Studio (2025). Voor nieuwe projecten beveelt Google Vulkan aan in plaats van OpenGL ES.

WebGL — de browser-analoog van OpenGL ES, de basis voor 3D-graphics op het web. WebGL 2.0 (overeenkomend met OpenGL ES 3.0) wordt ondersteund op 92% van de mobiele browsers. WebGPU — de volgende generatie, met een architectuur die dicht bij Vulkan en Metal ligt.

Veelgestelde vragen

Wat is het verschil tussen een mobiele GPU en een desktop-GPU?

Een mobiele GPU werkt in een thermisch pakket van 2–8 W, gebruikt Tile-Based Rendering voor energiebesparing en deelt geheugen met de CPU via UMA. Een desktop-GPU verbruikt 150–450 W, heeft apart videogeheugen (GDDR) en gebruikt Immediate Mode Rendering.

Wat is de krachtigste mobiele GPU in 2026?

Apple GPU in de M4 Ultra en A18 Pro-chips — leider in prestaties per watt onder mobiele GPU's. Onder Android-apparaten leiden Qualcomm Adreno 850 in Snapdragon 8 Gen 4 en ARM Mali-G925 in MediaTek Dimensity 9500.

Kan GPU worden gebruikt voor machine learning op mobiele apparaten?

Ja, GPU wordt actief gebruikt voor inferentie van neurale netwerken via Core ML op iOS en TensorFlow Lite / NNAPI op Android. Volgens Google (2025) levert GPU-versnelling een snelheidsverbetering van 3–10 keer ten opzichte van CPU.

Waarom wordt een GPU heet en gaat hij throttlen in mobiele games?

Throttling treedt op door overschrijding van het thermische budget. Bij langdurige belasting bereikt de SoC-temperatuur 85–95°C en verlaagt de GPU de frequentie om de chip te beschermen. Oplossing — optimalisatie van rendering en gebruik van FPS-limieten (30–45 FPS).

Welke API moet ik kiezen voor GPU-graphics op Android?

Vulkan — de belangrijkste keuze voor nieuwe projecten. OpenGL ES — voor achterwaartse compatibiliteit met oudere apparaten. Metal — verplicht voor iOS. Voor cross-platform ontwikkeling gebruikt u frameworks zoals Unity, Unreal Engine of Filament.

Samenvatting

  • GPU — gespecialiseerde processor met duizenden kernen voor parallelle gegevensverwerking en graphics-versnelling.
  • GPU-architectuur gebruikt SIMD-pijplijn, Tile-Based Rendering en Unified Memory voor mobiele SoC's.
  • GPU vs CPU: GPU overtreft CPU 10–12 keer in FLOPS bij taken met massaal parallellisme, maar is langzamer in sequentiële algoritmen.
  • Mobiele GPU's van Qualcomm, ARM, Apple en Imagination werken binnen een strikte limiet van 2–8 W en zijn onderhevig aan throttling.
  • GPGPU via Compute Shaders wordt gebruikt voor ML, cryptografie, beeldverwerking en wetenschappelijke simulaties.
  • Vulkan en Metal — de belangrijkste API's voor moderne mobiele apps, die low-level controle over de GPU bieden.
  • GPU-optimalisatie omvat beheer van draw-calls, FPS-limieten en gebruik van Foveated Rendering om warmteontwikkeling te verminderen.

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook