[Bug 3902] Unnormal slowness in Heroes 4 (X11DRV_BitBlt?)

Wine Bugs wine-bugs at winehq.org
Thu Dec 1 05:01:47 CST 2005


http://bugs.winehq.org/show_bug.cgi?id=3902





------- Additional Comments From giulian2003 at hotmail.com  2005-01-12 05:01 -------
It seems that all GDI function have this form:

X11DRV_LockDIBSection/X11DRV_CoerceDIBSection -> X11DRV_DIB_Coerce

  Modify DIB or X Server

X11DRV_UnlockDIBSection + sync between DIB and X Server

So, i think the best way to implement the change is to add 4 more implicit 
paramenters to X11DRV_LockDIBSection, X11DRV_CoerceDIBSection, 
X11DRV_DIB_Coerce, and have the GDI functions eventually pass the rectangle to 
X11DRV_DIB_Coerce which will set them into the X_PHYSBITMAP structure. 
Something like this:

static INT X11DRV_DIB_Coerce(X_PHYSBITMAP *physBitmap, INT req, BOOL lossy, INT 
x=0, INT y=0, INT width=0, INT height=0);

or maybe 

static INT X11DRV_DIB_Coerce(X_PHYSBITMAP *physBitmap, INT req, BOOL lossy, 
XRectangle *mod_rect=NULL);

The second way would also require for the GDI functions to dinamically allocate 
a XRectangle before passing it to X11DRV_LockDIBSection or  
X11DRV_CoerceDIBSection so will require a bit more coding. Still not sure which 
one is best ...

Anyway, enough talking .. i will try to do the change tonight if i won't be to 
tired, and a patch will follow ...

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list