我希望用一些图形元素设置我的应用程序样式。图标和其他想法。
从性能和最佳实践角度来看,使用vektor图形(XAML)或将图形转换为PNG会更好吗?
为什么?
我知道矢量图形是可扩展的......这只是基于xaml的大型应用程序的性能问题。
答案 0 :(得分:4)
你必须权衡自己的需要。如果它只是表现,那么我会说这取决于图像的数量。如果它们数量很大,那么XAML确实会更高效,否则它可以忽略不计。
但是我必须说纯粹的可维护性,特别是因为你正在谈论图标等等,你用位图会好得多,我会告诉你原因。任何人和他们的兄弟都可以编辑图标。你不能对矢量图形说同样的话。如果您想在某个时候更换图标,只需更换图像即可。您不必经历创建和/或查找矢量图像的麻烦,然后(很可能)必须通过导出过滤器将它们转换为XAML。此外,位图表格中有数百万个CC许可图标,您只能使用归因。
是的,在某些情况下,有一些位图的麻烦(例如一些处理ActualWidth / ActualHeight的怪癖),但在我看来这些都是次要的。
补充:微软的Yi-Lun Luo在2008年发表了vectors are faster。随着2009年第3版的发布,Silverlight利用了GPU,它可以让矢量更快,如果你启用它也可以如果你也使用BitmapCache。因此,从纯粹的性能角度来看,理论上矢量会更快。
答案 1 :(得分:2)
XAML优于PNG的优势:
PNG优于XAML的优势:
根据您的需求以及性能,负载和文件大小的测量结果进行选择。