Early-Z
GPU wykonuje test głębi przed pixel shaderem, a nie po nim, więc zasłonięte fragmenty są odrzucane, zanim uruchomi się dla nich kosztowny shader.
W klasycznym potoku test głębi następuje na końcu, po tym jak shader fragmentów obliczył kolor — płacisz więc za shader nawet wtedy, gdy fragment okazuje się leżeć za czymś innym. Early-Z przesuwa test przed shader, ilekroć sprzęt może zagwarantować ten sam wynik. GPU zyskały tę funkcję około 2001–2002 roku.
Haczyk: shader nie może zapisywać własnej głębi ani używać discard czy testu alfa, bo wtedy głębia nie jest znana z góry i sprzęt wraca do testu późnego. Dlatego silniki wykonują najpierw z-prepass, który wypełnia bufor głębi, co pozwala early-Z odrzucić jak najwięcej overdraw w przebiegu kolorów.