VRAM limit in 32bit applications

hauptmann24

Commendable
Jun 8, 2016
1
0
1,510
Hello and happy day,

I have a question and an argument to settle and I am hoping for your help.

Can 32bit applications use more than 4GB of VRAM? Does the os have a say 7 vs 8.1 vs 10, all are 64 bit.

thank you for your input!
 
Solution


Applications do not address video memory directly, only the graphics card can do that, and only the graphics driver can access the graphics card via the system's expansion bus. Applications manage display resources through the rendering API, which in turn is exposed by the graphics driver. When an application wishes to load a resource into video memory, it does so through the API and receives a handle which it can use to reference that resource later.

For a variety of reasons, a portion of the GPU's...
yes a 32bit application cannot support any single file bigger then 4gb by normal means, (there are tricks)

but think about it this way a 32 bit application can have sub files that are lets say 1gb texture files. so if said application tells the cpu to load the video card with 5 of these 1gb texture files to the video doesn't have 5gb of memory and it will run into issues. but if you have 8gb vram even with a 32 bit os and 32 bit cpu. the video card will load the 5 1gb files and still be able to take more because gpu is a lot more then 32 bit(look at there specs most are 192,256, 512 or more bit anymore)

now if the application wants to treat the video memory as a bit file. each bit storing a byte it will be limited to 4gb as it could not "address" each byte individually.

a 32 bit vs a 64 bit os actually directly changes the cpu mode and how big of numbers it can deal with.(which is why it gets memory limited because it has to read ram byte by byre no easy way around it) and unless you find a 32 bit gpu with more then 4gb of ram a gpu will always be able to read and write every bit individually also no issues.

FYI normally a gpu can deal with a lot bigger numbers (because of more bits) then a cpu. that's why you see them crunching numbers in some severs because theres no cpu for the job.
 

giantbucket

Dignified
BANNED
some windows 32bit versions CAN support more than 4GB of RAM, and they use PAE (physical address extension), but the vast vast majority of windows are limited to 4GB. several linux 32bit also use it (linux mint 17.2 definitely does, since that's what i run as a secondary on all of my machines)

but that's system (main) RAM, not video RAM (your VRAM). with VRAM it might be different - the board might have its own firmware/software that does something beyond what windows can.
 


Applications do not address video memory directly, only the graphics card can do that, and only the graphics driver can access the graphics card via the system's expansion bus. Applications manage display resources through the rendering API, which in turn is exposed by the graphics driver. When an application wishes to load a resource into video memory, it does so through the API and receives a handle which it can use to reference that resource later.

For a variety of reasons, a portion of the GPU's address space is "mapped" into the CPU's address space via Memory Mapped IO, forming an aperature. On 64 bit operating systems, the entirety of the GPU's address space is usually mapped into the CPU's address space; however, this region is restricted to kernel and driver access.
 
Solution