Hi, A few additions to my previous mail - Why can't I think about all this when I'm writing the mail.
A GDI engine won't help Direct3D applications because the gdi engine still operates in system memory. It would not avoid the need of downloading from opengl and uploading again. A GDI engine can help DirectDraw Games(although this can be improved in wined3d too), and other apps making heavy use of DIB sections with direct access. DDraw can be improved by moving the rendering from wined3d's code to the X server. This would shift the expensive opertions away from GetDC to surface locking.
And my font manager: I'm aware that I can't store the font Handle, I have to store the LOGFONT structure, together with the pen settings. This was just a quick and dirty way which works for most apps. But in theory the font handle can be destroyed and another one recreated with the same value but different settings.