IT-lexicon › Programmeren › Pipeline state object (PSO)

Pipeline state object (PSO)

Programmeren Svenska → Bijgewerkt: 2026-10-26

Een onveranderlijk object dat vrijwel de hele vaste pipelinestatus van de GPU (shaders, blending, dieptetest, vertexindeling) bundelt tot één voorgecompileerde eenheid.

Oudere API's als OpenGL en D3D11 lieten de renderstatus één schakelaar tegelijk omzetten, waarna de driver bij de eerste draw call stilletjes de combinatie opnieuw compileerde en valideerde: een onvoorspelbare haperaar midden in een frame. Direct3D 12 (2015) en Vulkan draaiden dit om: de volledige status wordt vooraf als pipeline state object gedeclareerd, de driver compileert die één keer, en binden tijdens het renderen is een goedkope pointerwissel.

De prijs is rigiditeit. Elke unieke combinatie van shader en status is een eigen PSO, dus een engine kan er duizenden nodig hebben. Ze worden bij voorkeur bij het laden gebouwd om haperingen te voorkomen wanneer er midden in het spel een nieuwe opduikt. Mesh- en computepipelines hebben eigen, eenvoudigere PSO-varianten.

← Terug naar het lexicon