Setting Sort order vs. Z value - which is better?

I’m setting up a 2D game with Unity’s 4.3+ 2D system.

I’m setting all my characters, backgrounds etc up with different sorting layers and sorting orders to make sure they appear as they should.

I was wondering if that is less efficient than setting up their Z values instead. How much less/more efficient is it?

What about with 3D meshes? Does the same hold true for them in a 2D scene?

Don’t quote me on it, but Z-culling is basically free on all graphics cards. You’d almost always get better performance by using the z-buffer for object ordering, than rendering all your objects in a certain order. ← For 2D

In 3D, unless you have a perfectly set up scene, not using z-culling will really screw with your rendering.