Hi,
As of Wine 1.1.27, XShm support was added for the creation of
DIBSECTIONs in winex11.drv. The use of XShm more closely matches to
the Windows behavior and can also bring more performance.
An Nvidia developer noticed this change in the ChangeLog and we both
wondered why even more XShm code was added in this time because XShm
has lost its use due to the emergence of EXA-like display drivers.
Modern drivers disable a large amount of hardware acceleration when
using XShm because they can't create the pixmaps in video memory since
the client owns the memory. This could decrease performance quite a
bit for most applications if they aren't hit by dibsection
back-and-forth copying bottlenecks. XRender for instance falls back to
software rendering for non-video memory based pixmaps.
I would perhaps suggest that we should perhaps drop XShm support (or
at least add a registry key for it and disable it perhaps on 'modern
drivers'). What do you guys think?
Regards,
Roderick Colenbrander