I render them at half resolution to save a bit on performance and keep it cheap. However I'm struggling to find a good upscale algorithm. Bilateral weights based on the differences on the depth buffer isn't enough.
I use a 3x3 bilateral filter, each sample is weighted by both spatial distance (sub-pixel position within the half-res grid) and depth similarity (to prevent light bleeding across silhouettes).