Hi all,
In 'old' D3D games, a lot of textures are created paletted... And each of these texture has its own DDraw palette object. And thus each has some GDI memory allocated.
This means that after some time, we run out of GDI Heap space due to all these palettes created there :
trace:ddraw:Main_DirectDraw_CreatePalette (0x4038ff48)->(00000044,0x406b1340,0x406b1978,(nil)) trace:palette:CreatePalette entries=256 err:local:LOCAL_GetBlock not enough space in GDI heap 01b7 for 1052 bytes
Now that problem is fixed in one game (it was due to some bad reference counting is some D3D code fixed in patch 79), but if ever it happens in yet another game, is it possible to increase this space ?
Lionel
Lionel Ulmer wrote:
Hi all,
In 'old' D3D games, a lot of textures are created paletted... And each of these texture has its own DDraw palette object. And thus each has some GDI memory allocated.
This means that after some time, we run out of GDI Heap space due to all these palettes created there :
trace:ddraw:Main_DirectDraw_CreatePalette (0x4038ff48)->(00000044,0x406b1340,0x406b1978,(nil)) trace:palette:CreatePalette entries=256 err:local:LOCAL_GetBlock not enough space in GDI heap 01b7 for 1052 bytes
Now that problem is fixed in one game (it was due to some bad reference counting is some D3D code fixed in patch 79), but if ever it happens in yet another game, is it possible to increase this space ?
Lionel
I have a similar problem in SS2 and the patch 79 does not help. :-( According to the code, the GDI heap is 64K at most. So it cannot be expanded. :-( 64K sound like 16-bit stuff, I wonder if 32-bit systems have this limitation. Experts in this area surely have more details about this.... :-)
Christian