Wine Starcraft slowness

Vedran Rodic vedran at zrs.hr
Sun Mar 4 04:55:25 CST 2001


Vedran Rodic wrote:

> Nix N. Nix wrote:
> 
>> I am using the very latest: 20010216
> 
> 
> Yes even the latest wine cvs is slow for DirectDraw with Xshm because
> every frame has to be converted from 8 bits per pixel to your higher
> display depth. This is especially noticable for continual full screen
> updates, like palette animation.
> 
> I've been testing it somewhat, and I've found that
> X11DRV_DIB_SetImageBits_8 function in graphics/x11drv/dib.c may be the
> cause for general slowness together with the fact that the surface memory
> is copied again to 8 bit in DDraw Blit function.
> 
> There is some asm in X11DRV_DIB_SetImageBits_8, but only for converting 8
> bpp to 16 bpp, nothing else, and on other cases it's uses "slow generic"
> method of XPutPixel.
> 
> I don't yet have enough knowledge of gcc's inline asm to do this asm for
> other depths... Or maybe we should do depth conversion in DDraw Blt
> function? Or maybe implement DDraw in OpenGL?

Ok... With some help from Ove Kaaven I figured out how to modify the inline 
asm. I've sent the patch to wine-patches, and I'm hoping to see it included 
in the next wine release. 

Starcraft and Fallout are playable now without DGA:) 

Between releases, you can download my patch from 
http://renata.irb.hr/~vedran/wine-patches/ to see if it helps.




More information about the wine-users mailing list