I am using RadTransitionControl to perform transitions between heterogeneous views that generally contain pure WPF controls, but that sometimes also use interop-based controls.
I detected recently an unmanaged memory leak in my application when using RadTransition with a WPFChromium-based control (http://wpfchromium.codeplex.com
). The application is stable when performing transitions between pure WPF controls. It is still stable when performing transitions between views that contain DirectShow-based controls. However, whenever I use WPFChromium in my transitions, there is a significant, constant unmanaged memory leak (about 20MB/hour with transitions occuring every 30 seconds).
If I take RadTransitionControl off my application, it becomes stable, even when using WPFChromium.
The interesting part is that it does not seem a transition-related problem, because if I keep setting the Content property always to the same view (i.e., the transition does not occur), the unmanaged leak persists. It seems that just using the RadTransitionControl as a container of WPFChromium triggers the leak.
I collected heap data with WinDgb, and there are two kinds of memory blocks leaking:
a) 48 bytes long blocks leaking about 100.000 units every hour. This is the code stack leaking those blocks:
b) 3686384 bytes long blocks leaking about 2/3 units every hour. This is the code stack leaking those blocks:
Are you aware situations leading to unmanaged memory leaks with WPFChromium or any other C++ wrapper-based control? Do you suggest any work-around or further debugging?