Something has to be wrong with my calculation.

Golgatha

Lifer
Jul 18, 2003
12,395
1,067
126
(for 2D resolution at 1400x1050) = 1470000bits*32bit color=47040000bits*(byte/8bits)*(1kb/1024bit)=5742.2kb or 5.7422MB of memory

Now 3D gaming at that resolution with a 60Hz refresh rate would require 5.7422MB*60 (I think) or 344.532MB.

I did the same calculation for 1600x1200 and came up with 450MB of memory. Is my calculation incorrect or is this why we have to have texture compression, and my answer would be correct assuming uncompressed textures?
 

xtknight

Elite Member
Oct 15, 2004
12,974
0
71
I'm not sure what you're calculating here. You could have a resolution of 1600x1200 and have just one texture on the screen.
 

Golgatha

Lifer
Jul 18, 2003
12,395
1,067
126
Maybe I'm thinking of displaying video and not game textures. I think you're right though. That calculation would only be relevant by displaying one huge texture on the screen at 60FPS. However, if the screen is full of textures, wouldn't the sum be equal to that of one gigantic texture at any moment on the screen?
 

xtknight

Elite Member
Oct 15, 2004
12,974
0
71
If the textures were all 1 pixel big (AFAIK 1 pixel can't be compressed anyway), yeah, I suppose that would work.

1600x1200x24bpp would be the size of an uncompressed 1600x1200 image. However, in Direct3D and OpenGL, stuff is expressed in vectors (and textures are mapped onto faces), so you can't just say it takes up that much space. Not everything on the screen is a texture. The bulk of needed space might be textures though because vertices can be expressed by very simple means. Sooner or later it has to be turned into a raster image, but that should only take up 1600x1200x24bpp bits.

The extra 8-bit in "32-bit" is just an alpha parameter (0-255) that determines translucency of the pixel. So there is not actually any more colors than "24-bit", just a simpler way of expressing said colors. The graphics card all converts it to 24bpp in the end.

1600x1200x60Hz would be the bandwidth coming out of the RAMDAC or TMDS transmitter (115.2 MHz) to the VGA and DVI out ports.
 

BFG10K

Lifer
Aug 14, 2000
22,709
3,003
126
Frame buffer calculation is [xres] X [yres] X (bit depth + z depth). You also need to take into account if you're using FP formats such as for HDR.

You can't really calculate anything else unless you know exactly how much data a given scene has.

A scene could have 10 MB textures or 1000 MB textures.
It could have 20 polygons or 20,000 polygons.

Etc.