2010-01-29 91 views
2

我正在尋找一個WPF圖像控件,它可以快速更改圖像。內置的WPF對於使用(縮放)的圖像尺寸來說非常慢。我只需要約3 FPS。我曾考慮過下載WinForms甚至D3D,但我不確定這是否是最好的方法。快速WPF圖像控制

任何人都可以提出一些建議嗎?

回答

4

WPF的Image控件使用Windows的本機「Windows Imaging」和Direct3D子系統完成所有髒東西,因此,如果使用正確的參數,它的速度將與您將找到的任何東西一樣快。

我懷疑問題是您的設置導致Windows Imaging以完全分辨率加載圖像,然後讓Direct3D對其進行縮放。解決這個問題的方法是在您使用ImageSourceBitmapImage時,通過設置DecodePixelHeightDecodePixelWidth來加載圖像。

許多圖形應用程序用來加快速度的另一種技術是在後臺預加載圖像。例如,一旦顯示當前圖像,Windows圖片瀏覽器就會自動開始加載下一張圖像。

如果您正在預加載圖像,請考慮在單獨的線程中執行此操作。當您創建BitmapImage時,請確保您使用BitmapCacheOption.OnLoad,否則預加載實際上不會發生(默認值爲OnDemand)。

+0

謝謝,這是非常有用的。我有你提到的預加載問題,所以BitmapCacheOption.OnLoad應該非常有用。 – 2010-02-01 01:13:57