Framebuffer size calculations and effects of antialiasing

Carnage1986

Member
Apr 8, 2014
92
0
0
What's the formula of the VRAM usage of framebuffer? Which antialiasing technique eats up more VRAM? For example how much costs 1080p+4X MSAA+32 bpp?(on standard 32 bit z-depth)

I found a formula about this: Size of framebuffer=Front buffer+back buffer+Z-buffer. But i didn't find any information about effect of different antialiasing techniques. And i wonder if we use different pixel formats, does it increase or decrease the size of framebuffer?
 

psolord

Platinum Member
Sep 16, 2009
2,125
1,256
136
I believe SSAA is the worst in terms of memory, depending on the factor of course.

Then MSAA also depending on the factor.

Then the post processing ones, MLAA, SMAA, FXAA etc. I thing their factor has much less to do with memory usage, but rather processing cost.

I do not know exact numbers, but I think SSAA could go over 100% more memory, MSAA up to 25% more and the post processing ones no more than 5%.
 

Pottuvoi

Senior member
Apr 16, 2012
416
2
81
MSAA and SSAA use same amount of memory.
Difference in tech is that SSAA calculates information in each subsample and MSAA calculates information once per pixel and sends same result to all visible subsamples in current polygon.

Just multiply framebuffer information amount with AA sample count.


Basic calculation method is.
X*Y*bytes per pixel used by buffers* AA Sample count.

IE. forward renderer with 1080p image and simple 4byte RGBA and 4bytes for Z-buffer&stencil and 4xMSAA.
1980*1080*8*4=68428800 bytes or ~65MB

Many games use 16bit floating point to get HDR, so framebuffer is 8bytes.
Also deferred renderers can use anything from 12bytes to 42bytes for all sorts of data in G-buffer.

Also when talking amount of memory kB is 1024bytes and MB is 1048576bytes.
 
Last edited:

psolord

Platinum Member
Sep 16, 2009
2,125
1,256
136
That's great info! I stand corrected.

What about the rest, SMAA, MLAA etc?
 

Pottuvoi

Senior member
Apr 16, 2012
416
2
81

Carnage1986

Member
Apr 8, 2014
92
0
0
MSAA and SSAA use same amount of memory.
Difference in tech is that SSAA calculates information in each subsample and MSAA calculates information once per pixel and sends same result to all visible subsamples in current polygon.

Just multiply framebuffer information amount with AA sample count.


Basic calculation method is.
X*Y*bytes per pixel used by buffers* AA Sample count.

IE. forward renderer with 1080p image and simple 4byte RGBA and 4bytes for Z-buffer&stencil and 4xMSAA.
1980*1080*8*4=68428800 bytes or ~65MB

Many games use 16bit floating point to get HDR, so framebuffer is 8bytes.
Also deferred renderers can use anything from 12bytes to 42bytes for all sorts of data in G-buffer.

Also when talking amount of memory kB is 1024bytes and MB is 1048576bytes.

Thanks for the reply.