Derek Powazek says Programmers are Tiny Gods. Maybe this explains why some people call me god? =P
Saturday, October 10, 2009
When animating (scaling) a complex WPF vector brush, 100% of my CPU is used. The animation also looks jerky. To speed things up, I rasterized the vector brush into a bitmap brush. The CPU load decreases below 30% and the animation became much smoother.
So how do I create a bitmap brush? There is no meaningful properties or methods to override in the Brush class, as most of the workings of brush are marked as internal. To overcome the problem, the brush is implemented as a markup extension.
To use the code, pass your vector brush into the RasterizeBrush class.
And place the following code inside your project.