2013-02-22 5 views
3

WinRT 앱에서 이미지를 XAML을 통해 표 및 단추의 배경으로 제공했습니다.이미지를로드하는 데 시간이 오래 걸림 WinRT XAML

이미지를로드하는 데 오랜 시간이 걸리며 다른 텍스트 컨트롤 (예 : TextBlock) 만 표시되고 얼마 동안은 이미지가로드되는 것을 확인했습니다. 시간이 오기 전에는 페이지의 텍스트 컨트롤 만 볼 수 있습니다.

우리는 우리가이 문제를 해결하기 위해 무엇을 할 수 있는지,

<ImageBrush ImageSource="ms-appx:////Images/image.png"/> 

알려 주시기 바랍니다 아래로 배경을 설정합니다.

감사합니다.

답변

0

이상한 동작이지만 작은 크기/해상도의 이미지를 선택하여 렌더링 시간을 최적화 할 수 있습니다.

또한, 페이지의 생성자에서 배경 이미지를 설정하려고 - 마이크로 소프트 (그래도 확실하지 않다) 비동기 운영을 통해 XAML 구문 분석을 처리 할 수 ​​있기 때문에

1

당신은

  • 이의 해상도를 줄일 수 있습니다
  • 미리보기를 시작하기 전에 먼저 페이지를 표시하거나 페이지가 완전히 검은 색으로 표시되고 이미지가로드 될 때 페이드 인하는 방식으로 페이지가 표시 될 때까지 기다릴 때까지 기다립니다.
  • 낮은 해상도의 이미지 또는 다른 그 전에 WinRT는 짧은 시간 동안 (두 번째의 일부분)을 기다립니다 -
  • 내가 이미지 소스가 조기에 설정 들어가면 직감이있는 모든

에서 해당 이미지를 사용하지 않는 이미지가로드 될 때까지 설정 전환 애니메이션을 실행하기 전에 이미지를로드 할 수있는 기회를주는 새 페이지를 보여주기 때문에 이미지 해상도를 모두 낮추거나 더 높은 해상도를로드하기 전에 낮은 해상도를 사용하는 것이 한 가지 방법입니다.

또 다른 옵션은 백그라운드를 루트 프레임 외부에 배치하는 것입니다. App.xaml.cs를 수정하여 루트 비주얼로 그리드를 만들고 배경 이미지와 프레임을 그 안에 넣어 언제든지 이미지를 변경할 수 있습니다.

+0

가 실제로 그리드 배경 이미지의 크기가 1.5 MB이며 전체 장치를 커버 해상도에서 1366x768 배경입니다 화면과 내 페이지의 배경 역할을합니다. 따라서로드하는 데 시간이 오래 걸립니다. 해상도를 변경하면 스트레치가 잘되지 않는 것처럼 보입니다. –

+0

배경 이미지가 씻겨나는 경우가 종종 있으며, 그 경우 해상도가 낮을 ​​때는 떨리는 현상이 없지만 해결할 수있는 다른 도구가 있습니다. –

0

대신 ImageBrush이 "BitmapCache"로 설정 CashMode 속성 일반 Image를 사용하려고 :

<Grid> 
    <Image Source="ms-appx:////Images/image.png" 
      CacheMode="BitmapCache" /> 

    <!-- Your other content above background image --> 
</Grid>