http://bugs.winehq.org/show_bug.cgi?id=35749
Bug ID: 35749 Summary: Screen update problems on Counter Strike: Global Offensive Product: Wine Version: 1.7.14 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: gediminas@varciai.lt CC: ken@codeweavers.com, stefan@codeweavers.com Regression SHA1: 4c4552c5a1910a9d5adf8eccff0ac62d89ffe376
A new regression: While playing Counter Strike: Global Offensive (other source engine games might also be affected; did not test yet), it runs fine at first, but if I alt-tab out of it and back several times, the game starts stuttering a lot and the *apparent* framerate drops several times. Even though it looks as if the framerate plummeted, the in-game FPS counter keeps showing a normal framerate, i.e. there is no framerate drop from the game's point of view. GPU load also remains the same, too. Thus, this leads to believe that rendering is still done normally, but Wine doesn't flip / update the screen properly, leading to stuttering and apparent framerate drop.
After some testing, I found that reverting this patch makes the problem go away:
commit 4c4552c5a1910a9d5adf8eccff0ac62d89ffe376 Author: Ken Thomases ken@codeweavers.com Date: Wed Feb 19 16:14:53 2014 -0600
wined3d: Restore the pixel format of the window whose pixel format was actually changed.
I also tried it with the patch from bug #35705 - It did not help at all, so it is possibly a different bug.
Judging from its description, it does not seem that bug #35655 would the same bug, either.
With the bug triggered, I did not see any errors / warnings / fixmes that were not present with the bug NOT triggered, even with +d3d on. So, I am not sure whether posting debug output would be of any use.
Although it in itself is unsupported, to shed more light on the matter, I should also mention about the behavior of this bug when encountered on Wine with Stefan Dösinger's CSMT patchset: Everything is the same, except the game is stuck on showing one frame that was drawn right before triggering the bug. Which *visually* makes it seem as the game has hanged. Leaving game like this for longer amounts of time, I can see that it then flips / updates the screen approximately once every one minute [leading to 0.016 frames per second, effectively]. Sometimes, after waiting a minute or two, graphics start updating / working normally again, but that lasts for fifteen seconds tops and it gets stuck on showing one frame again.