Hi,
I'm with you. This is the single most annoying regression I've ever seen in Wine. As this seems to be top-priority anyway, it's one of the best possible SOC candidates (this and a DIB engine), given that most regular devs that might be able to fix the regression don't seem all too motivated to really touch that issue. Who cares if games take a slight performance hit, if a fix would unbreak lots and lots of applications that used to work
- an acceptable tradeoff, IMHO...
If you are talking about the pbuffer way, and I understand this correctly, then this wouldn't be a slight hit, but a major performance loss. I think the solution would be to render to an offscreen texture. This would mean to copy the rendered image back to main memory, copying it through the cpu and then sending it back to the card. For a 1024x768x32 image this are 3 megabytes per frame.
The current directdraw code handles it this way for windowed direct3d rendering. I can get about 20 fps with moto racer 2 in windoed mode at 512x384 on my radeon mobility M9. If the game wouldn't cap the speed at 35fps, I'd expect it to achieve 200fps on the same hardware(it's a very old Direct3d1 game).
For fullscreen mode we could still use the normal rendering way, but windowed apps still wouldn't work very well.