Which one is faster?


I render my reflected scene to a texture then I apply this texture on a mirror plane. Since the whole scene is rendered to a multisampled FBO, I also render the reflected scene to a multisampled renderbuffer (only 4XAA therefore this is another FBO not the one used for the final result) then use glBlitFramebufferEXT to resolve it to a texture.

My question is: would it be preferable (in terms of speed) if I rendered the reflected scene directly to a higher resolution texture but without antialiasing? I guess the quality should be similar, but I don’t know which one would be faster, 4XAA + a Blit compared to no AA but render to texture four times the ‘normal’ size.

Please note: I am using GL 2.1, as far as I know, I can’t use multisampled textures.


Four times the ‘normal’ size would be similar to doing supersampling instead of multisampling. You would have 4 texture fetches instead of 1 with 4xAA, so 4x the texture rate. Moreover your fragment shader would be applied 4 times per ‘resulting’ pixel with the high-res texture instead of just 1 time with 4xAA (because the fragment shader is done for each pixel, not per sub-pixel).

In short, 4xAA will be faster.