2011-10-03 85 views
4

我正在製作一個timelapse應用程序,並且需要每30ms繪製一個新幀。幀存儲在獨立存儲中(它們是640x480)。繪製位圖的最快方法?

我試着先將它們加載到MemoryStream中,然後轉換爲BitmapImage並指定爲Image控件的源代碼。但它太長了 - 大約需要55ms。我衡量,它不是從孤立的存儲中讀取,而是實際上將圖像加載到花費時間最長的Image控件中。

有沒有什麼辦法可以在Silverlight的windows phone上更快地繪製圖像呢,還是應該考慮用XNA來做呢?

+2

你應該考慮用XNA來代替它。否則,你永遠無法達到必要的表現水平。 –

+0

而不是每次加載新的圖像,你可能會直接覆蓋舊的圖像?此外,性能將與您使用的手機型號密切相關。 – Seph

+0

位圖中的數據類型是什麼?他們是否喜歡幻燈片,或者你是否真的在流動一部真正低效的電影? –

回答

2

看看WriteableBitmap類和開源庫WritableBitmapExWriteableBitmapEx中的Blit方法會將一個位圖複製到另一個位圖中。不知道它的速度是否足夠滿足您的需求,但對於我正在做的事情而言,速度非常快。

相關問題