Image控件是否会释放BitmapImage的源代码?

时间:2016-09-05 20:39:37

标签: uwp windows-10 windows-10-universal xperf

BitmapImage的源在UI中显示后会自动释放吗?

我看到在BitmapImage在Image控件中显示一次之后,再次显示它需要~300ms。在那段延迟期间,屏幕上没有任何内容。使用XPerf进行分析显示了解码操作。由于图像已经显示,因此无需解码。

(顺便说一句 - 我发誓这并没有发生在Windows 8上,但无法证明)

编辑 - 更多分析......

在一次运行中,250ms延迟分为120ms用于解码,100ms用于填充渲染目标,以及30ms用于dwm将其放在屏幕上。也许它是由Image控件发布的渲染目标的内存?

编辑 -

当为Image控件的Source提供新创建的BitmapImage时,图像会立即显示在UI中。当给出之前显示的BitmapImage时,有大约300ms没有显示任何内容。使用XPerf进行分析表明,这些情况之间的主要区别在于后者需要解码步骤。

我为BitmapSource创建了一个代理,希望能够窃听Image控件对位图所做的事情。这没有用。看起来Image控件通过一个接口来访问图像数据,而不是它要求你给它的接口(ImageSource)。

0 个答案:

没有答案