Trying Out The New OpenGL Threaded Dispatch In Mesa 17.1
At the beginning of today, OpenGL threaded dispatch landed in Mesa as work that's existed in patch form for years but was recently revived for Mesa Git due to the potential for significant performance gains in select scenarios.
Right now within Mesa Git the threaded dispatch behavior is controlled by setting the mesa_glthread=true, otherwise it's disabled by default. There has been talk of making use of DRI application profiles for determining when to enable the threaded dispatch, but as of now in Git, such work hasn't landed.
Borderlands 2 is most frequently cited as benefiting from OpenGL threaded dispatch to the tune of ~70% performance boosts. Civilization VI has also been talked about as another benefactor. Tonight I ran some Mesa Git tests on a Radeon RX 480 to compare the stock behavior to having mesa_glthread enabled.
With Civilization VI on the RX 480, I didn't notice any performance improvement.
In most of the tests, the performance was simply unchanged with Mesa OpenGL threaded dispatch was enabled. But it can also cause some nasty fallout:
Unfortunately, in these Steam Linux game tests tried where they have capable benchmarking modes, no improvement in performance was found. If anyone has any experiences to share from their Mesa glthread adventures, feel free to share in the forums. I'll try with some other GPUs shortly, but at least for these benchmark-friendly games, it doesn't seem to do much good but rather harm, which is likely why they are planning for the per-game profiles and the functionality is currently disabled by default.
Right now within Mesa Git the threaded dispatch behavior is controlled by setting the mesa_glthread=true, otherwise it's disabled by default. There has been talk of making use of DRI application profiles for determining when to enable the threaded dispatch, but as of now in Git, such work hasn't landed.
Borderlands 2 is most frequently cited as benefiting from OpenGL threaded dispatch to the tune of ~70% performance boosts. Civilization VI has also been talked about as another benefactor. Tonight I ran some Mesa Git tests on a Radeon RX 480 to compare the stock behavior to having mesa_glthread enabled.
With Civilization VI on the RX 480, I didn't notice any performance improvement.
In most of the tests, the performance was simply unchanged with Mesa OpenGL threaded dispatch was enabled. But it can also cause some nasty fallout:
Unfortunately, in these Steam Linux game tests tried where they have capable benchmarking modes, no improvement in performance was found. If anyone has any experiences to share from their Mesa glthread adventures, feel free to share in the forums. I'll try with some other GPUs shortly, but at least for these benchmark-friendly games, it doesn't seem to do much good but rather harm, which is likely why they are planning for the per-game profiles and the functionality is currently disabled by default.
60 Comments