Leksykon IT › Programowanie › Pipeline state object (PSO)

Pipeline state object (PSO)

Programowanie Svenska → Zaktualizowano: 2026-10-26

Niemutowalny obiekt, który łączy niemal cały stały stan potoku GPU — shadery, mieszanie, test głębi, układ wierzchołków — w jedną prekompilowaną jednostkę.

Starsze API, takie jak OpenGL i D3D11, pozwalały przełączać stan renderowania po jednej opcji, po czym sterownik po cichu rekompilował i walidował kombinację przy pierwszym wywołaniu rysowania — nieprzewidywalna czkawka w środku klatki. Direct3D 12 (2015) i Vulkan odwróciły to podejście: cały stan deklaruje się z góry jako pipeline state object, sterownik kompiluje go raz, a podczas renderowania jego wiązanie to tania podmiana wskaźnika.

Ceną jest sztywność. Każda unikalna kombinacja shadera i stanu to osobny PSO, więc silnik może potrzebować tysięcy, a najlepiej budować je przy ładowaniu, by uniknąć przycięć, gdy w trakcie gry pojawi się nowy. Potoki mesh i compute mają własne, prostsze warianty PSO.

← Wróć do leksykonu