Pergunta

Estou pensando em usar VirtualSurfaceImageSource em meu aplicativo e implementei algo semelhante ao Exemplo de aplicativo de revista Direct2D, mas encontrei um problema que ocorre quando a superfície virtual é várias vezes maior que a área de exibição.

Basicamente, eu tenho uma rolagem horizontal ScrollViewer que contém um Image.A fonte da imagem é uma ampla VirtualSurfaceImageSource (pelo menos ~10.000 x 500 px).A largura do ScrollViewer é 1280 pixels.

Quando rolo o visualizador de rolagem com movimento panorâmico por toque, a imagem às vezes treme - uma parte da imagem desaparece e depois é redesenhada.Isso geralmente acontece quando a rolagem inercial para.A imagem já está totalmente desenhada quando rola para a visualização, mas por algum motivo ela está limpa e IVirtualSurfaceUpdatesCallbackNative::UpdatesNeeded() é chamado.

eu carreguei um vídeo que ilustra o problema.Veja o que acontece quando a rolagem para (0:02, 0:17, etc...)

Alguma idéia de por que isso está acontecendo?

Também notei que a oscilação não ocorre se a largura da imagem for de aproximadamente 5.000 px ou menos.


Se você quiser reproduzir isso, comece pelo Exemplo de aplicativo de revista Direct2D e adicione mais texto em Sample.story, sob o <text name="butterfly-body"> tag - basta copiar o texto existente cerca de 10 vezes.Tente rolar a página da borboleta em ambas as direções e com velocidades variadas e você verá o que parece ser o mesmo problema.

Eu fiz essa pergunta em um Fórum MSDN, mas até agora não obtive resposta.

Foi útil?

Solução

Isso não é mais um problema no Windows 8 Release Preview, então provavelmente foi apenas um bug no Consumer Preview.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top