我正在考虑在我的应用程序中使用VirtualSurfaceImageSource,并且我已经实现了与Direct2D magazine app sample类似的东西,但我遇到了一个问题,当虚拟表面大几倍时就会出现这个问题比显示区域。
基本上,我有一个水平滚动ScrollViewer
,其中包含Image
。图像的来源是宽VirtualSurfaceImageSource
(至少~10000 x 500像素)。 ScrollViewer
的宽度为1280像素。
当我使用触摸平移滚动滚动查看器时,图像有时会闪烁 - 图像的一部分消失然后重新绘制。这通常发生在惯性滚动停止时。当图像滚动到视图中时,图像已经完全绘制,但由于某种原因,图像被清除并且IVirtualSurfaceUpdatesCallbackNative::UpdatesNeeded()
被调用。
我上传了a video which illustrates the problem 。观察滚动停止时的情况(0:02,0:17,等等......)
为什么会发生这种情况?
我还注意到,如果图像宽度为~5000像素或更低,则不会发生闪烁。
如果要重现此问题,请从Direct2D magazine app sample开始,在<text name="butterfly-body">
标记下的Sample.story中添加更多文本 - 只需将现有文本复制10次左右即可。尝试在两个方向上滚动蝴蝶页面并以不同的速度,你应该看到似乎是同样的问题。
我在MSDN forum中提出了这个问题,但到目前为止我还没有回答。
答案 0 :(得分:0)
这不再是Windows 8 Release Preview中的问题,因此它可能只是Consumer Preview中的一个错误。