2009-09-19 1 views
0

동일한 UserControl에서 애니메이션 및 MultiScaleImage 컨트롤을 사용하는 방법은 무엇입니까?
동일한 UserControl에 MultiScaleImage와 애니메이션을 배치하면 항상 높은 CPU 사용률을 얻게된다는 것을 발견했습니다. MultiScaleImage 컨트롤 버그입니까? 다음은 샘플 project입니다. (격자, MultiScaleImageControl 및 페이딩 사각형)Silverlight MultiScaleImage 컨트롤 버그 및 CPU 사용량

CPU 사용률이 높은 이유는 무엇입니까? 애니메이션이 재생 중일 때 UserControl이 LayoutUpdated 이벤트를 발생시키고 MultiScaleImage가 해당 이벤트를 캐치하여 다시 그립니다. MaxFrameRate = 60 (기본값), 다음 MultiScaleImage마다 두 번째 원인 (MultiScaleImage.LayoutUpdated는 ~ 60 번 발사됩니다) ~ CPU 사용량이 60 시간을 자신을 다시 그리 그래서 경우 :

  • ~ 20 %의 CPU를 MaxFrameRate = 10
  • 경우
  • ~ 40 %의 CPU, 경우 MaxFrameRate = 30
  • ~ 85 %의 CPU, MaxFrameRate = 60 (기본값)

MultiScaleImage이 itsef을 다시 그리기 안 (또는 집중 뭔가 CPU를 다시 계산) 만하여 SizeChanged 이벤트에 있다면? 애니메이션을 사용할 수없는 경우 왜이 컨트롤을 사용해야합니까?

답변

1

이제 알 수 있습니다. bug :