Re: GDI memory limit
- From: "Feng Yuan [MSFT]" <fyuan@xxxxxxxxxxxx>
- Date: Sun, 16 Jul 2006 15:48:19 -0700
It's the limitation of 32-bit Windows.
In 32-bit Windows, 4gb address space is divided into 2gb kernel mode address
space and 2gb user mode address space. Your program/Dlls get loaded into
user mode address space. With all the user mode DLLs and memory allocations
(stacks, heaps), useable user mode address space is only around 1.4 Gb for
normal application. If your application has lots of modules, it could be
smaller. This explains why you're hitting limit around 1 gb.
The best way to solve your problem is moving to 64-bit Windows, there you
will have a huge address space. Another way is change system settings to let
user mode address space be 3gb instead of the normal 2gb.
Other than that:
1) Check what's in your user mode address space by walking memory blocks in
VM.
2) Rebase DLLs if possible to make space.
3) Optimize your design/implementation.
--
Feng Yuan [MSFT] http://blogs.msdn.com/fyuan
<cuore_rosso_roma@xxxxxxxx> wrote in message
news:1152736702.457342.164520@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
That function fails for images of ~1 GB on my system (windows 2000
server, 4 GB RAM, P4 2GHz).
.
- References:
- GDI memory limit
- From: cuore_rosso_roma
- GDI memory limit
- Prev by Date: Re: DPSoo = ?!&*^%$
- Next by Date: Re: How to read GDI comments containing GDI+ calls
- Previous by thread: GDI memory limit
- Next by thread: DPSoo = ?!&*^%$
- Index(es):
Relevant Pages
|