2011-10-03 6 views
4

나는 timelapse 응용 프로그램을 만들고 있는데, 30ms마다 새로운 프레임을 그려야합니다. 프레임은 격리 된 저장소에 저장됩니다 (640x480).비트 맵을 그리는 가장 빠른 방법은 무엇입니까?

먼저 MemoryStream에로드 한 다음 BitmapImage로 변환하고 Image 컨트롤의 소스로 지정하려고했습니다. 그러나 너무 길어서 약 55ms가 걸립니다. 내가 측정 한 그것은 고립 된 저장소에서 독서 아니에요, 실제로 이미지를로드하는 이미지 컨트롤에 가장 오래 걸릴.

Silverlight를 사용하는 Windows Phone에서 이미지를 더 빠르게 그릴 수있는 방법이 있습니까? 아니면 XNA를 사용하여 이미지를 처리해야합니까?

+2

대신 XNA에서이 작업을 수행해야합니다. 그렇지 않으면 결코 필요한 수준의 성능을 얻지 못할 것입니다. –

+0

매번 새 이미지를로드하는 대신 이전 이미지를 직접 덮어 쓸 수 있습니까? 또한 성능은 사용중인 모델의 휴대 전화와 밀접하게 관련이 있습니다. – Seph

+0

비트 맵에 어떤 유형의 데이터가 있습니까? 그들은 슬라이드를 좋아합니까? 아니면 실제로 비효율적 인 영화를 효과적으로 스트리밍하고 있습니까? –

답변

2

WriteableBitmap 클래스와 오픈 소스 라이브러리 WritableBitmapEx을 살펴보십시오. Blit 메서드 내에서 WriteableBitmapEx은 다른 비트 맵을 복사합니다. 당신이 필요로하는 것에 충분히 빠르지는 모르겠지만, 내가하고있는 일에 매우 빠르다.

관련 문제