Wine "PBA" Shows Potential For Improving Direct3D-Over-OpenGL Performance

Written by Michael Larabel in WINE on 23 February 2018 at 05:50 PM EST. 62 Comments
University student Andrew Comminos wasn't too familiar with Direct3D or Wine development, but out of a desire for better World of Warcraft performance on Linux, he figured out the code-base and a means of enhancing the WineD3D code.

Thanks to the perf subsystem and APITrace, he was able to figure out World of Warcraft's rendering technique and how a GPU pipeline stall was happening. He ended up making use of OpenGL's ARB_buffer_storage extension to write a GPU heap allocator that performs much better for buffer maps.

With this code, which he is staging in a branch called Wine-PBA (Persistent Buffer Allocator), his World of Warcraft results via Wine are very promising. In fact, 30~60% faster in some instances.

The Wine-PBA code is currently available but he's still working towards segregated free lists, chunked OpenGL buffer allocations, and improving the code as well as more extensive testing of this heap alloator. Right now it's not production quality, but once everything is addressed, he's hopeful to take the patches to mainline Wine.

More details on Wine-PBA via this blog post.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week