GDI surfaces, GDI heap and wined3d's VideoMemorySize
stefan at codeweavers.com
Mon Feb 26 09:31:51 CST 2007
Am Sonntag 25 Februar 2007 21:57 schrieb Rok Mandeljc:
> Hey all,
> Now, when the game is run with 64MB of VideoMemorySize, upon reaching
> the same point, IDirectDrawImpl_CreateNewSurface returns
> WINED3DERR_OUTOFVIDEOMEMORY (because of
> "IWineD3DDevice_GetAvailableTextureMem(iface) <= _size" check in
> D3DCREATERESOURCEOBJECTINSTANCE macro) and intro movie starts playing.
> So it seems Baldur's Gate 2 is trying to create as many surfaces as
> possible before running out of memory. And the problem arises when
> specified memory size is large enough to take up all GDI's heap...
Now that seems interesting. Actually, I have never had a 2D application
creating that much surfaces, and the old ddraw code only advertised 8 mb of
mem. It might be an out of memory somewhere, but not sure how and why.
You could try opengl surfaces. Those do not have a DIB section, unless the app
calls GetDC on the surface
More information about the wine-devel