2012-05-22 2 views
0

Я рассматриваю использование VirtualSurfaceImageSource в своем приложении, и я реализовал что-то похожее на Direct2D magazine app sample, но я столкнулся с проблемой, которая возникает, когда виртуальная поверхность в несколько раз больше, чем область отображения ,Проблеск мерцания с VirtualSurfaceImageSource

В принципе, у меня есть прокрутка по горизонтали ScrollViewer, которая содержит Image. Источник изображения является широким VirtualSurfaceImageSource (не менее ~ 10000 x 500 пикселей). Ширина ScrollViewer составляет 1280 px.

Когда я просматриваю средство просмотра прокрутки с сенсорным панорамированием, изображение иногда мерцает - часть изображения исчезает, а затем перерисовывается. Обычно это происходит, когда инерционная прокрутка останавливается. Изображение уже полностью нарисовано, когда оно прокручивается в представление, но по какой-то причине оно очищается и вызывается IVirtualSurfaceUpdatesCallbackNative::UpdatesNeeded().

Я загрузил a video which illustrates the problem. Смотрите, что происходит, когда прокрутка останавливается (в 0:02, 0:17 и т. Д.)

Любые идеи, почему это происходит?

Я также заметил, что мерцание не происходит, если ширина изображения составляет ~ 5000 пикселей или меньше.


Если вы хотите воспроизвести это, начните с Direct2D magazine app sample и добавить текст в Sample.story под <text name="butterfly-body"> тег - просто скопировать существующие текст в 10 раз или около того. Попробуйте прокрутить страницу бабочки в обоих направлениях и с разной скоростью, и вы должны увидеть, что похоже на ту же проблему.

Я задал этот вопрос в MSDN forum, но до сих пор я не получил ответа.

+0

Я видел мерцание даже при анимации простого большого эллипса. Я думаю, что это может быть проблемой в текущем публичном сборке. Надеюсь, это будет разрешено позже. –

ответ

0

Это больше не проблема в представлении Windows 8 Release Preview, поэтому, вероятно, это была ошибка в пользовательском превью.