렌더링의 많은 반복된 이미지를 더 많거나 적은 성능보다는 브러쉬를 사용하에 WPF?
-
20-09-2019 - |
문제
응용 프로그램 우리 회사에서 작업하고 현재 디스플레이 많은 사각형 모양으로 그라데이션을 그리는'타일'.내부 면담에 대해왔는 제기된 질문이었습니다.이 타일은 약 100x200 픽셀,그리고 중 그라데이션 음영 빨간색,노란,녹색입니다.주어진 시간이 있을 수 있습의 100 까지 이 타일에서는 화면입니다.는 것은 더 성능이 우리를 위해 이미지를 만들에 대한 각(빨간색,노란색,녹색)하고 그것을 반복하고 필요할 때,또는 나을 것이 우리를 위해 계속 그들을 그림을 사용하여 표준 WPF 브러쉬?
편집:을 명확히 하기 위해,그라디언트 브러시는 우리가 사용하는 LinearGradientBrush.
해결책
에서의 경험,그들을 그리는 브러쉬를 사용하는 것이 훨씬 더 나은 성능을 제공합니다.오버헤드의 로드 타일 이미지와 그들을 렌더링이 큰 비교하여 렌더링이 가득한 사각형입니다.
다른 팁
이를 해결하는 유일한 방법은 두 가지 방법을 모두 시도하고 각 접근 방식의 성능을 측정하는 것입니다.
렌더 루프에 시간에 코드를 추가하고 결과를 파일에 로그인 한 다음 1000 (또는 100,000)의 리 그리프를 강제하여 현실적인 그림을 얻을 수 있어야합니다.
내 직감은 그게 LinearGradientBrush
이미지를로드하는 것보다 더 빠릅니다 (자원에서도). 그러나 나는 기꺼이 잘못되었다.
제휴하지 않습니다 StackOverflow