Lessico IT › Programmazione › Pipeline state object (PSO)

Pipeline state object (PSO)

Programmazione Svenska → Aggiornato: 2026-10-26

Un oggetto immutabile che raggruppa quasi tutto lo stato fisso della pipeline della GPU — shader, blending, depth test, layout dei vertici — in un'unica unità precompilata.

API più vecchie come OpenGL e D3D11 permettevano di cambiare lo stato di rendering un'opzione alla volta, dopodiché il driver ricompilava e validava silenziosamente la combinazione alla prima draw call: un singhiozzo imprevedibile a metà frame. Direct3D 12 (2015) e Vulkan hanno invertito l'approccio: si dichiara l'intero stato in anticipo come pipeline state object, il driver lo compila una volta sola e associarlo in fase di rendering equivale a un semplice scambio di puntatore.

Il prezzo è la rigidità. Ogni combinazione unica di shader e stato è un PSO a sé, quindi un motore può averne migliaia, ed è meglio costruirli in fase di caricamento per evitare scatti quando ne compare uno nuovo durante il gioco. Le pipeline mesh e compute hanno varianti di PSO proprie e più semplici.

← Torna al lessico