LeoXue

In Windowsforms application, we can set ControlStyle.DoubleBuffer to true to prevent flicker caused by the redrawing of the control.

In WPF, where is it Currently there is a very bad flicker in my animation .




Re: Windows Presentation Foundation (WPF) Where is DoubleBuffer?

Drew Marsh

You probably need to read up a bit on WPF rendering, it's very different from GDI. There's no way to control this from your WPF application. They're working very hard to make sure there's no tearing during animation.

What kind of video card are you using What is the value of RenderCapability.Tier in your application With some more details, perhaps someone with Microsoft will have an answer for you.

HTH,
Drew





Re: Windows Presentation Foundation (WPF) Where is DoubleBuffer?

wywy

Same here. Not only my own customized 3D animation program flickers badly, I also found out that most of the samples from MSDN (2D or 3D) flickers badly.

My graphic card is nVidia GeForce 6600LE. CPU Pentium 4 3.00GHz. RAM 1GB.

I don't think its hardware problem because I don't see any performance problem with any other graphic intense programs, games, applications etc.

You mentioned RenderCapability.Tier. That is only a query tool. It has no help on improving the graphic capability. Do you mean we need to make special efforts to let WPF applications make good use of hardware If that's true, what kind of special efforts

Thanks.





Re: Windows Presentation Foundation (WPF) Where is DoubleBuffer?

Rob Relyea

wywy-

Have you experimented with Storyboard's DesiredFrameRate property
Please let us know how that goes.

Also:
What OS are you running on
Can you please give the version and date of your video driver

What is your CPU like during your custom animation   What %

Thanks, Rob Relyea
Program Manager, WPF Team
http://rrelyea.spaces.live.com





Re: Windows Presentation Foundation (WPF) Where is DoubleBuffer?

wywy

First of all thank you very much for the prompt reply.

I'm not using Storyboard for my animation because I need to do complicated mesh morphing, and I understand WPF animation does not support mesh manipulation.

I added a customized event handler to CompositionTarget.Rendering like this

CompositionTarget.Rendering += CustomizedEventHandler;

Inside the customized event handler I modify my mesh according to requirement.

I have both Windows Vista and Windows XP. Tried my program on both, result same. There are also a couple of PCs and Laptops in our company I can run testing on, the effects are all the same.

Video driver of the graphic card on my PC:

NVIDIA GeForce 6600LE

Driver Date: 2/9/2006

Driver Version: 8.3.9.1

By the way I run the directX diagnostic tool "dxdiag.exe". It seems directX is running ok.





Re: Windows Presentation Foundation (WPF) Where is DoubleBuffer?

wywy

Sorry just now I forgot to mention the CPU usage.

When my animation is running, the CPU usage varies between 5% to 7%. (If you need I can send a video of this.)

I also used Wpfperf perforator to test my program. Frame rate varies between 66 to 67. Dirty Rect Addition Rate 133. Estimated Video Memory usage (MB) 8.658598. Hardware Render Targets: 1, all the rest are 0.