https://bugs.winehq.org/show_bug.cgi?id=45724
Bug ID: 45724 Summary: Multiple EndScene calls result in multiple glFlush (FF XIV) Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: enhancement Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: awesie@gmail.com Distribution: ---
While investigating the performance of FF XIV (DirectX 9), one major issue is that it will call EndScene multiple times per frame. MSDN discourages this behavior, and on Wine it introduces a significant performance penalty because a flush is emitted for every call to wined3d_device_end_scene.
I removed the call to wined3d_cs_emit_flush in wined3d_device_end_scene which significantly improved (~40%) the fps in my test area. Mileage may vary depending on other patches.