I've narrowed down a pretty bad rendering problem with AMD/ATI graphics cards on WPF. I've reported the problem to the Microsoft WPF team with no response:
I tried the WPF forums and was told there's nothing Microsoft can do, so try AMD:
So I tried reporting it via the AMD Dev Central desk (Ticket 1483: Poor rendering quality on WPF app AMD) and haven't gotten a response. I don't know where else to turn, so I'll try here.
Background: I work for a company developing a kiosk solution in Windows 7 / WPF. We're currently evaluating a new round of hardware and we've had to exclude AMD graphics entirely due to this bug.
I can't seem to attach the files here, so I'll provide links.
Demo 2: http://www.saturncs.com/WPFRenderTest2.zip
Test 1: http://www.saturncs.com/WPFRenderTest.zip
Run the attached project on an AMD video card. It contains several grids rendered within a viewbox. The main window is set to a particular size that duplicates the issue. Resizing the main window can make the issue appear and disappear in realtime.
The top two buttons show the problem. The second button replaces the images with images of grids to highlight the tearing problem.
The bottom two buttons are duplicates of the top two except the drop shadow has been removed, which causes the problem to go away.
This has been duplicated on multiple AMD driver versions, including the latest 11.7 Catalyst drivers. We've reproduced it on multiple ATI cards including an HD 6750M (mobile), HD 6630M, and an HD 5770 (desktop, with and without Crossfire).
These problems do NOT occur on nVidia hardware, nor the software rendering mode of WPF. The problem is, I'm not a graphics/DirectX developer - WPF abstracts all that away from me. Even if I was, I have no control over the WPF framework to fix it.
I just tried 11.8 and the problem persisted.
Would anyone with more knowledge than I be willing to run the above test apps through AMD Graphics dev utilities and try to figure out what the heck is going on?
Ideally there'd be some graphics driver tweak / registry setting that can resolve this.