GDI Resource Limits

Windows 95, 98 and ME had insanely low hard-coded limits on the GDI and user resources – simply put, the number of “things” that could be displayed at once. When you ran out, your programs couldn’t load any more “things” and odd things would happen such as your icons or menus disappearing, fonts going weird and so-on.

I remember reading somewhere that Windows NT based systems (right through Windows 7) didn’t have this limit. Which is kinda true. The limit is there but it’s much higher. And definitely reachable if you’re a power multitasker, even on Windows 7 x64 as I found out (with the usual menus disappearing, fonts going funny, dialogs not coming up, etc.).

After a bit of searching, I encountered a nugget of info at http://weblogs.asp.net/mikedopp/archive/2008/05/16/increasing-user-handle-and-gdi-handle-limits.aspx .

Just in case the link disappears, here’s the gist of what you can do. Of course, like all my hints, use at your own risk.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows:

Change “SharedSection=1024,<something>,512″ so that <something> is higher than default (I think the default is somewhere around 3072). Mike advocates something like 8192. On my Windows 7 x64 laptop I’ve got 20480 (yes, that’s 20,480).

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\GDIProcessHandleQuota:

By default this is 10,000 (Decimal), Mike advocates something like 15,000. Mine is set to 16,384 dec.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\GDIProcessHandleQuota:

By default this is 10,000, again Mike advocates something like 15,000, mine is maxed out at 18,000.

I can attest to Mike’s assertion that increasing these values BEYOND the maximums I’ve listed here cause all kinds of grief … but right up to these limits I’ve found that they’ve improved my ability to multitask immensely. Having 8GB of RAM also helps! ;-)

Comments are closed.