3

The naive interpretation of multisampling would imply that, for instance, 8x MSAA would require a framebuffer that takes 8 times the space of a non-multisampled framebuffer, for all the duplicated samples. Since the latest video cards support even 32x MSAA, that would mean that just the color buffer of a 1600x1200 output would use 1600·1200·4·32 = ~245 MB.

Is this actually the case? I mean, I realize that potential memory optimizations are likely to be implementation-dependent, but is there any information on this? Should I be extremely conscious of, for instance, allocating multisampled textures? (This is my main question.)

I'm asking in the context of OpenGL, but I don't reckon this would be different between DirectX and OpenGL.

Dolda2000
  • 25,216
  • 4
  • 51
  • 92
  • 5
    You need a place to store 8 samples, so yes it really does require 8x storage. Whether you _truly_ use all 8 samples every time you draw something that is MSAA 8x is a different story, depending on coverage an implementation might flag the samples as identical. [`ARB_sample_shading`](http://www.opengl.org/registry/specs/ARB/sample_shading.txt) explains how this can be controlled programmatically these days. In fact, rendering to an MS texture can be used for things other than AA now a days, my favorite unorthodox use is called `Stencil Routed A-Buffering` :) – Andon M. Coleman Oct 09 '13 at 23:29

0 Answers0