2009-12-06 7 views
4

나는 모두 Canvas에 추가 된 약 1000 개의 선을 애니메이션으로 만들려고 노력해 왔으며, 애니메이션이 실현 가능성이 전혀 없다는 것을 극도로 느리게합니다. 처음에는 모든 계산 때문일 것이라고 생각했지만 아주 간단한 실험을 시도했습니다. 약 1000 개의 무작위 선을 생성하고 PointAnimations를 사용하여 임의의 새로운 좌표로 이동하려고했습니다. 나는 기본적으로 OS/하드웨어의 모든 조합에서이 프로그램을 실행했는데 나는 찾을 수 있고 심지어 초당 4 프레임 이상을 얻을 수도 없다.WPF의 렌더링/애니메이션 성능이 좋지 않습니까?

가 소스 (그리고 좀 더 많은 정보는) 가

이 사람이 어떤 솔루션이 있습니까 http://ali.shiravi.com/index.php/wpf-sluggish-rendering-performance/

에서 찾을 수 있습니까? 이 작업이 WPF에서 너무 많이 요청됩니까?

답변

2

다음과 같은 상황을 처리하는 방법은 다음과 같습니다. 표시 줄을 개별적으로 이동하지 말고 전체 모음을 다시 채 웁니다. 그러나 비트 맵으로 페인트 한 다음 보이는 창으로 블록 전송합니다.

보이는 창에 1000 개의 선을 직접 다시 그릴 경우 10-100 ms가 걸릴 수 있으며 깜박일 수도 있습니다. 하지만 메모리 비트 맵에 페인트하면 화면에 블록 전송이 너무 빠르기 때문에 시간이 거의 같지만 눈에 띄게 번쩍 거리지는 않습니다.

관련 문제