Strange Choppy WPF Animation
I am making an app that scrolls information on the desktop. The window is transparent. I am starting out simple, trying to find the lowest CPU use for animating things and I am starting with a simple TextBlock.
On my development machine, I get a very smooth animation across the screen setting the Canvas.Left property with a DoubleAnimation. However, on another Vista computer I get about a 1 second lag every 6 to 7 seconds. On an XP machine, it is again quite smooth. I have tried on 3 other machines and its 50% good and bad. I have 3.5 SP1 installed on all the machines.
CPU use on the systems never goes above 10%. I can see that I am not doing any software rendering. The Video card on my desktop is a nVidia Geforce 7xxx series, and one of the choppy machines was using a nVidia Geforce 88xx card. All are using the same driver release and the most currrent. Screen res usually is 1920x1080, with the exception of my Dev machine which is much larger ( 2560x1600)
HOWEVER - if I use Perforator to DISABLE dirty region support - it is smooth on all machines but CPU is now at 30%
I am lost. The choppiness is almost like clockwork. There is nothing else going on on the machines having the issues, all machines tested were Core 2 Duos, plenty of ram, latest drivers, latest Service Packs, I just dont know what else to do. I would expect simply higher CPU use, not lag.
If you are using the AllowsTransparency property you will have performance and compatibility problems.
The technical explanation is here:
from my personal (and painful) experience some display drivers will crush your program and others will make Windows work erratically when you have a WPF transparent window on screen for a long time, I recommend you try to re-write your GUI to not use transparency.