2011-06-09 53 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