我正在尋找一個WPF圖像控件,它可以快速更改圖像。內置的WPF對於使用(縮放)的圖像尺寸來說非常慢。我只需要約3 FPS。我曾考慮過下載WinForms甚至D3D,但我不確定這是否是最好的方法。快速WPF圖像控制
任何人都可以提出一些建議嗎?
我正在尋找一個WPF圖像控件,它可以快速更改圖像。內置的WPF對於使用(縮放)的圖像尺寸來說非常慢。我只需要約3 FPS。我曾考慮過下載WinForms甚至D3D,但我不確定這是否是最好的方法。快速WPF圖像控制
任何人都可以提出一些建議嗎?
WPF的Image
控件使用Windows的本機「Windows Imaging」和Direct3D子系統完成所有髒東西,因此,如果使用正確的參數,它的速度將與您將找到的任何東西一樣快。
我懷疑問題是您的設置導致Windows Imaging以完全分辨率加載圖像,然後讓Direct3D對其進行縮放。解決這個問題的方法是在您使用ImageSource
的BitmapImage
時,通過設置DecodePixelHeight
和DecodePixelWidth
來加載圖像。
許多圖形應用程序用來加快速度的另一種技術是在後臺預加載圖像。例如,一旦顯示當前圖像,Windows圖片瀏覽器就會自動開始加載下一張圖像。
如果您正在預加載圖像,請考慮在單獨的線程中執行此操作。當您創建BitmapImage
時,請確保您使用BitmapCacheOption.OnLoad
,否則預加載實際上不會發生(默認值爲OnDemand
)。
謝謝,這是非常有用的。我有你提到的預加載問題,所以BitmapCacheOption.OnLoad應該非常有用。 – 2010-02-01 01:13:57