Is there a way to optimize the WPF Dirty Rect update rate

I am trying to write an application to display multiple video streams, all updates at 25 or 30 images per second. Images are rendered in WPF controls using Direct3D and some Interop to avoid using the Winforms control. As more video streams are added, the frame rate of each control decreases, but the processor on my machine reaches only 50%.

Using the Microsoft WPF Performance Suite - Perforator tool, it turned out that when the frame rate in the video streams starts to drop, the "Dirty Rect Addition Rate" level is equalized as if it reached the maximum value for the video card. There is no software rendering activity in the application, so, apparently, overall performance is limited by the ability of the video card to update Dirty Rectangles.

Therefore, is there a feature or performance parameter that can be used to determine the best graphics card to buy in order to maximize performance for my application? Either this, or is there a set of graphics card settings that will improve performance? He is currently working with the ATI FirePro V4800, which will happily run 16 H264 video streams in 4CIF resolution, but is looking to run up to 32.

+4
source share

All Articles