我们何时应该使用图像(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,它将导致窗口在没有硬件的情况下呈现加速。所以我想知道它是否真的是对性能的改进。忽略这样一个事实,即编码器的工作要多得多。
答案 0 :(得分:5)
从您的评论中: -
我只谈论图像和xaml可以互换的情况
使用PNG,句号。只有在您真正需要它提供的优势时才使用基于Xaml的图像。可能存在一些边缘情况例外,例如,可以由Xaml中的几个简单路径组成的大图像。但是,您还必须有充分的理由相信任何性能差异都是可观的并且值得消除。当两者都能实现相同的结果时,最终会支持简单而不是复杂。
答案 1 :(得分:0)
如果您的艺术家/设计师可以创建矢量图形并且没有复杂的渐变,那么我更喜欢矢量图形。你获得了所有的优势,没有任何缺点。
如果您担心复杂的可视化树,那么WPF专门针对这类情况提供位图缓存。