【问题标题】:WPF Images vs. XAMLWPF 图像与 XAML
【发布时间】:2011-09-11 13:35:41
【问题描述】:

我们什么时候应该使用图像(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 它将导致窗口在没有硬件加速的情况下呈现。所以我想知道这是否真的是对性能的改进。忽略编码员的工作量要大得多的事实。

【问题讨论】:

  • 如果您使用的是现代硬件,我不会担心。 XAML 甚至可能更快,因为您的磁盘 IO 更少
  • 我看不出图像如何替代 XAML。图片是静态的,非交互式的...
  • 我想他是在谈论图标、按钮,特别是在它们不是交互式的情况下。 CPU/RAM 资源费用取决于特定的上下文。正如您之前指出的那样,两者都有优点和缺点......如果您只关注资源消耗,我同意 Wouter Simons :)
  • 我使用的是现代硬件,但我不知道所有将使用该程序的用户。现代 2GHz 单核和 1gb RAM 或 2.3GHz 四核和 8gb RAM 是什么意思?关于另一个问题:当然,我只是在谈论 image 和 xaml 像 metalcam 建议的那样可以互换的情况。

标签: wpf silverlight performance image xaml


【解决方案1】:

来自您的评论:-

我只说image和xaml可以互换的情况

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

【讨论】:

  • 你可以删除整个答案,保存最后一句话,它仍然是 +1。
【解决方案2】:

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

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

【讨论】:

  • 附带说明,Expression Blend 可以导入 Adob​​e Illustrator 文件,这意味着您的图形设计师可以在熟悉的程序中创建矢量图形,然后使用 XAML 路径进行渲染。它还负责导入画笔的渐变。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-13
  • 2023-02-22
  • 2013-08-22
  • 1970-01-01
  • 1970-01-01
  • 2016-07-19
  • 1970-01-01
相关资源
最近更新 更多