0

アプリケーションでVirtualSurfaceImageSourceを使用することを検討しており、 Direct2D マガジン アプリのサンプルに似たものを実装しましたが、仮想サーフェスが表示領域の数倍になると問題が発生しました。

ScrollViewer基本的に、.を含む水平スクロールがありますImage。画像のソースが広いVirtualSurfaceImageSource(少なくとも ~10000 x 500 ピクセル)。の幅ScrollViewerは 1280 ピクセルです。

スクロール ビューアーをタッチ パンでスクロールすると、画像がちらつきます。画像の一部が消えて再描画されます。これは通常、慣性スクロールが停止したときに発生します。ビューにスクロールすると、画像はすでに完全に描画されていますが、何らかの理由でクリアされてIVirtualSurfaceUpdatesCallbackNative::UpdatesNeeded()呼び出されます。

問題を説明するビデオをアップロードしました。スクロールが停止したときに何が起こるかを見てください (0:02、0:17 など)。

なぜこれが起こっているのですか?

また、画像の幅が 5000 px 以下の場合、ちらつきが発生しないことにも気付きました。


これを再現する場合は、Direct2D マガジン アプリのサンプルから始めて、タグの下の Sample.story にテキストを追加します<text name="butterfly-body">。既存のテキストを 10 回ほどコピーするだけです。バタフライ ページを両方向にさまざまな速度でスクロールしてみてください。同じ問題と思われるものが表示されるはずです。

MSDN フォーラムでこの質問をしましたが、今のところ回答がありません。

4

1 に答える 1

0

これは Windows 8 Release Preview では問題ではなくなったため、Consumer Preview では単なるバグだった可能性があります。

于 2012-06-01T12:44:57.493 に答える