How much video memory do I really have?

Started by
10 comments, last by Krohm 8 years, 11 months ago

shouldn't all modern GPUs support paging? at least nvidia Fermi+ (GTX 4x0 etc.) support the sparse texture extension of OpenGL, which allows you to stick together textures out of random memory pages, so there shouldn't be really a fragmentation >= 64kb of texture size. (unless the drivers restrict that for some reason).

Under Win32, the biggest fragmentation issue is address space - each process has ~31.5 bits to address all of it's resources.
Virtual paging does nothing to fix address space fragmentation - e.g. even if paging let's us assume that the physical RAM is infinite, we need to be able to claim a large contiguous block of virtual addresses/pages.
As for the D3D9 era, they might not use paging, and might even store addresses using <24bits in places (e.g. by assuming 256byte alignment, 23 bits can fully address 2GB).
As for mips, on disk they add an extra ~33%, but sometimes in video RAM they can add ~mip0pitch*(mip0height-1) -- aka (~100%).
Are you running fullscreen or windowed? Fullscreen might reduce the amout of VRAM that the OS is reserving for itself.

In this particular instance I'm in windowed mode. My editor is a c# app but it 'automates' my c++ engine where it passes windows handles for the engine to render to. I had included my various frame buffers in the 70Mb in one of my earlier posts.

As a further test, I added around 20 terrain layers to an area of the 8192x8192 terrain each with diffuse, normal and specular maps all being rendered from the same viewpoint and had no memory issues at all. It does just appear to be that call to save texture to disk.
Advertisement

I'm seconding Hodgman. I've personally solved an hang by just compiling x64. Resources were about 700MiB if memory serves, on a 1 GiB card. Yes, it did fit in x64.

Previously "Krohm"

This topic is closed to new replies.

Advertisement