https://bugs.winehq.org/show_bug.cgi?id=39421
--- Comment #13 from Jonas Maebe jonas.bugzilla@gmail.com --- (In reply to Stefan Dösinger from comment #12)
The way I read your previous findings is that the slowdown isn't caused by sysmem -> video memory image transfers, but by compositing the rendered image into the quartz display output. This is also confirmed by your winemac.drv based hack working. If you skip glFlush calls in winemac.drv you're in no way changing how wined3d transfers the image to OpenGL.
That's true. In fact, if I remove the calls to glFlush altogether, it's even smoother and faster. You do have to wait occasionally for an interface element to appear in that case though (e.g. for the menu when pressing escape), but while playing the game still updates in real time (I guess because it constantly sends new data that causes the graphics pipeline to be flushed all the time).
You can try to use Quartz Debug (part of the graphics developer utilities) to force beam sync off and see if that improves rendering speed.
No effect.