2011-06-09 49 views
5

什麼時候應該使用圖像(jpg,png)以及何時應該在應用程序中使用XAML。WPF圖像與XAML

圖片

+ "easy" for the designer to create what he wants 
+ are displayed the same on every computer 
- fixed resolution 

XAML

+ vector format (resolution independent, resize able, ...) 
+ can be animated 
+/- rendered by the client 
- not as many effects available as for images or are really complex to create 
- complex visual tree 

我無法找到任何來源,用於比較圖像和XAML之間的資源使用情況(CPU,RAM)。

我個人認爲所有的東西都應該是XAML,但我不希望有一個緩慢的應用程序。使用XAML圖紙有沒有好的性能指導?


研究這個我讀過,你應該擁有一切的XAML,然後用按需創建靜態圖像,但根據本article就會造成沒有硬件加速要呈現的窗口。所以我想知道它是否真的改善了性能。忽略這樣一個事實,即編碼器的工作量更大。

+0

如果你是現代硬件,我不會擔心。 XAML甚至可能會更快,因爲您擁有更少的磁盤IO – 2011-06-09 09:49:25

+0

我沒有看到圖像如何取代XAML。圖像是靜態的和非交互式的... – 2011-06-09 09:51:18

+0

我想他是在談論圖標,按鈕,特別是在它們不是互動的情況下。 CPU/RAM資源費用取決於特定的上下文。 正如你以前指定的,兩者都有優點和缺點... 如果你只是專注於資源消耗,我同意沃特西蒙斯:) – metalcam 2011-06-09 10:14:39

回答

5

從您的評論: -

我只是談論的情況下,圖像和XAML是可互換的

使用PNG,期。只有在您真正需要它提供的優勢時才使用基於Xaml的圖像。可能會出現一些邊緣情況異常,例如,可能由Xaml中的幾條簡​​單路徑組成的大圖像。然而,你也必須有充分的理由相信任何性能差異都是可觀的,值得消除。當相同的結果可以從兩者中獲得時,最終贊成簡單而不是複雜性。

+1

你可以消除你的整個答案,保存最後一句話,它仍然是+1。 – 2011-06-09 13:43:19

0

如果您的藝術家/設計師可以創建矢量圖形並且沒有複雜的漸變,那麼我更喜歡矢量圖形。你擁有所有的優點,沒有缺點。

如果您擔心複雜的可視化樹,那麼WPF會專門爲這些類型的案例提供位圖緩存。

+0

另一方面,Expression Blend可以導入Adobe Illustrator文件,這意味着您的圖形設計人員可以在熟悉的程序中創建矢量圖形,然後使用XAML Paths進行渲染。它還負責爲畫筆導入漸變。 – 2011-06-09 16:10:27