Menu

All items for August 2009

WPF application with DropShadowEffect renders incorrectly on nVidia GeForce drivers 185.85 and greater

For those of you who develop using WPF, I ran into the following issue recently:

I developed MuvUnder Cover: The Album Art Sleuth, a WPF application, and with the latest nVidia drivers it displays erratic rendering of the interface. Graphical elements are missing, are half showing, when you mouseover them they appear and then randomly disappear, etc.

I have tested this on a Geforce 7800 GTX and GeForce 7300 LE with the following driver versions:

8.15.11.9038 – tested and broken
8.15.11.8618 – tested and broken
8.15.11.8585 – tested and broken (this was the first of the GeForce/ION drivers)

I tracked it down to the following cause, with a solution:

I had the following DropShadowEffect set on a lot of controls:

<DropShadowEffect x:Key=”DropShadowEffectDefault”
ShadowDepth=”4″
Opacity=”0.75″
BlurRadius=”5″ />

All of the controls that had that set where the ones that were showing the erratic missing, showing on mouseover, half rendered issue.

I then switched back to the following software rendered dropshadow:

<DropShadowBitmapEffect x:Key=”DropShadowBitmapEffectDefault”
ShadowDepth=”4″
Softness=”0.4″
Opacity=”0.75″
Noise=”0.01″/> <!– Setting Noise forces it so it isn’t automatically changed to DropShadowEffect (nVidia bug with DropShadowEffect)–>

and everything rendered correctly.

You can follow the Microsoft Connect bug I reported to see if/when there is a fix and which side of the fence (nVidia or Microsoft) it comes from at: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=478676