WPF图像与XAML

时间:2011-06-09 09:46:34

标签: wpf silverlight performance image xaml

我们何时应该使用图像(jpg,png)以及何时应该在应用程序中使用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中的所有东西,然后使用RenderTargetBitmap按需创建静态图像,但是根据这个article,它将导致窗口在没有硬件的情况下呈现加速。所以我想知道它是否真的是对性能的改进。忽略这样一个事实,即编码器的工作要多得多。

2 个答案:

答案 0 :(得分:5)

从您的评论中: -

  

我只谈论图像和xaml可以互换的情况

使用PNG,句号。只有在您真正需要它提供的优势时才使用基于Xaml的图像。可能存在一些边缘情况例外,例如,可以由Xaml中的几个简单路径组成的大图像。但是,您还必须有充分的理由相信任何性能差异都是可观的并且值得消除。当两者都能实现相同的结果时,最终会支持简单而不是复杂。

答案 1 :(得分:0)

如果您的艺术家/设计师可以创建矢量图形并且没有复杂的渐变,那么我更喜欢矢量图形。你获得了所有的优势,没有任何缺点。

如果您担心复杂的可视化树,那么WPF专门针对这类情况提供位图缓存。