Windows 10 display artifacts and refresh problems with Catalyst 15.2 (Radeon HD & R7)

Discussion created by nobledog on Sep 3, 2015
Latest reply on Oct 14, 2015 by kyorin

The problems I am observing have been primarily while using Microsoft's Visual Studio 2015 and WPF code developed with it. So this may be more a Microsoft problem than an AMD problem but I have also since much sporadic but similar anomalies in other applications like Chrome. However, I will describe the VS2015 related issues since I can reproduce them readily and some are actually strange enough to be interesting. The system involved is a tri-monitor setup (all 2560x1600). I have seen identical effects with both a Radeon R7 250X based GPU and a Radeon HD 7970. I also tried rolling back to a v14 level Win 8.1 driver but the behavior did not change. I am running Windows 10 x64 with latest updates.

There are two signature effects:

1) After more than a few minutes of use of VS2015 (and I have seen this a little in VS2013 on this same system), the various editor panes, stop refreshing properly so if you click on a method in the Object Browser (which I usually have on its own separate screen), you jump to the editor window to the correct method but the display is garbled so you only see some of the appropriate code text. If you scroll the window a bit it corrects so it's like some kind of invalidation failure that scrolling then refreshes. After a while I have to shut down and restart and it is better for a while. Also, occasionally the Object Browser window will also "freeze" and just beep at you if you try to interact by mouse or keyboard. You cannot even close it and, again, have to restart the application. (Probably an unrelated bug but I am on a roll and this one is surely MS's problem).

Obviously, Microsoft may be the main culprit here but as I know AMD wants its GPU's to play well under Windows 10 I felt this was worth posting to you. I have also posted to MSDN Forums about this (more or less this same text).

Now for the really strange part (and a little more developer oriented):

2) I have a WPF application that is sometime run with two open, non-modal windows the parent doing a Window.Show() to launch the over. When you click on some text in the second window the first one updates its display based on what you clicked. Both windows, at the moment, run out of the same assembly in the same namespace to the call across is just a method invocation with a Regex Match object for an argument and no return. All this works fine on my Surface (Win10x64), a server (WS2012R2), and on another older 2-monitor Win7 machine I have tried it on.

When I run it on my three monitor Win10/R7-250X I see something similar to the corruption I am observing with VS2015 generally. In this case, the receiving window only partially updates. If I drag my mouse over it some of the fields finish filling in but if there have been any layout changes I can only clear the target window by dragging it to another screen (or minimizing/maximizing) it. Again, it is almost as if some invalidation information is just getting lost. I have done all manner of tricks InvalidatingMeasures and UpdatingLayouts (with many time wasting variations). Nothing works reliably. Note that all UI updating works entirely normally when I am working exclusively in either window by itself - I have seen no corruption in that case.

Finally, let me tell you the most incomprehensible part. If I put the two windows on separate screens, they work perfectly together. All disjoint monitor pairings seem to work. I also tried disabling 2 of the 3 monitors but when they were both on that one screen the problems resumed. There has to be some screen localized bug in tracking invalid regions. Although I can't claim to have tested it definitively I have not noticed similar cross-failures between different applications on the same screen but I haven't tried to develop a good test methodology.

For the moment the bug appears to require a single process running multiple windows sharing a single screen to easily elicit the behavior.

I don't really expect anyone to have any brilliant insights into item 2 (but please share them if you do). It is just one of the quirkiest bugs I have ever seen. I am interested if others are having similar VS2015 or other application display issues with multimonitor Win10/Radeon combos (or other graphics architectures like NVidia). Clearly, if it is seen with other graphics subsystems then MS has probably screwed up some of their display internals above the GPU driver level. I don't expect people on this forum to have much response on this last point but maybe I'll get some feedback on MSDN and I will post it here if it seems relevant to AMD.

I know this post is a little techie and does not involve 3D graphics at all (boring). But some of us have to work part of the time.


Curtis Marx