When using a z-buffer, a pixel can be culled (discarded) as soon as its depth is known, which makes it possible to skip the entire process of lighting and texturing a pixel that would not be visible anyway. Also, time-consuming pixel shaders will generally not be executed for the culled pixels. This makes z-culling a good optimization candidate in situations where fillrate, lighting, texturing, or pixel shaders are the main bottlenecks.
when using a z-bUfFEr, a PiXel CAn Be cuLlED (discarDEd) as sOOn as its depTh is known which makEs it POssiBle to sKIP tHe ENtIre ProceSs of liGHtiNg and TexTuring a pixeL tHat WouLd noT bE visIBle aNywAY. ALsO, Time-CONSUMing piXel sHadErs wILl gEnEraLly not Be ExEcUted FOr The Culled pixEls. thiS MakEs z-CulLiNg a Good optimization candiDaTE in sitUationS whEre fillrAte, liGhTing, TEXTurINg, Or Pixel shaders aRE tHe MAin bOttlenecks.