Wpf 哪个更好?在使用图像文件和绘制矢量图形之间
正如我在标题上所说的。 我只是想知道使用图像文件和绘制矢量形状(或路径)之间哪个更好。 我知道使用vector对外观更好,但性能又如何呢 如果这取决于具体情况。谁能解释一下Wpf 哪个更好?在使用图像文件和绘制矢量图形之间,wpf,silverlight,performance,windows-phone-7,vector,Wpf,Silverlight,Performance,Windows Phone 7,Vector,正如我在标题上所说的。 我只是想知道使用图像文件和绘制矢量形状(或路径)之间哪个更好。 我知道使用vector对外观更好,但性能又如何呢 如果这取决于具体情况。谁能解释一下 (这个问题可能包括WP7、Silverlight、WPF,甚至是在一般情况下。)根据我们使用Windows Phone 7(非mango)应用程序的经验,我们发现使用图像而不是绘图可以产生更高的响应能力,因此在页面中连续动画的用户体验性能更好。(YMMV)我最初会说,图像渲染速度比向量快。向量越复杂,渲染所需的时间就越多。图
(这个问题可能包括WP7、Silverlight、WPF,甚至是在一般情况下。)根据我们使用Windows Phone 7(非mango)应用程序的经验,我们发现使用图像而不是绘图可以产生更高的响应能力,因此在页面中连续动画的用户体验性能更好。(YMMV)我最初会说,图像渲染速度比向量快。向量越复杂,渲染所需的时间就越多。图像越大,渲染时间越长
我将推测(用Silverlight术语)当前的大多数视频硬件能够直接处理图像渲染,从而提高性能。我不确定是否可以在视频硬件级别进行矢量计算。这里是一个比较位图(我认为您所说的“图像文件”)和矢量的优缺点的一般答案 基于位图的图像(gif、tiff、jpeg、png、bmp)本质上是将颜色(以及其他数据,如alpha层)映射到像素网格的概念。不同的文件格式提供了不同的支持内容和压缩级别,但这是高级概念。像素和数据的完整映射以矩阵/表格的形式存储在文件中 正如您所说,基于矢量的图像是基于路径的。文件格式将存储几何点和数据,而不是按像素存储信息 位图的优点是:
- 它们的渲染速度通常比向量快。这是因为呈现图像所涉及的计算量最小(只需获取像素贴图并显示)
- 它们比矢量更好地处理“摄影”内容
- 它们比向量机更便于携带。GIF、JPEG、PNG、BMP比任何矢量格式(通常Adobe有市场)都更标准
- 它们在没有退化的情况下无法缩放(像素化)
- 位图的操作(即调整大小、模糊、照明等)比矢量的处理器成本更高
- 这些文件通常比基于向量的文件大得多
- 灵活的缩放和操作
- 比vector更小的文件格式
- 非常适合打印和动画(即操纵形状以产生动画效果)
- 根据向量的复杂性,渲染时间可能更长
- 可移植性大多数格式都是高度专有的
- 适用于基于“图形”的图像,但不适用于照片真实感
希望这有帮助 耶利米·莫里尔(Jeremiah Morrill)给出了一个例子,基本上说明了矢量渲染总是比图像更昂贵。基本上,图像被视为directx纹理…无论大小、缩放或其他,渲染图像都有固定的成本。正如Jer的概述所示,即使是最简单的矢量图像也需要大量操作才能在WPF中渲染。这个故事的寓意是,在给出选项时,选择图像而不是向量。从Windows Phone 7的角度来看,通常可以更快地渲染图像/位图,而不是路径/向量。作为移动开发的一般规则,由于设备上的资源受限和需要考虑性能的增加,如果您能做一件事,例如准备一个图像,在设计(或编译)时间,在每个客户机上多次执行它肯定是可取的。
在跨平台(WPF、Silverlight和WP7)应用规则时要非常小心,因为它们在不同的情况下用于不同的事情,并且受到不同的约束。你在手机上必须考虑的事情可能不是在高功率PC上运行的WPF应用程序中的一个问题。多么详细的解释啊。非常感谢您的回答,这对我理解向量和图像有很大帮助。