WPF是用于Windows的图形系统,其底层采用了DirectX进行绘图渲染。

DirectX 使用显卡GPU进行图形处理,效率更高,传统的User31/GDI/GDI+,会更消耗CPU的性能计算。

分辨率无关

WPF应用程序创建的分应用程序与分辨率无关,及WPF的应用程序可以根据系统DPI自动调整大小,其实现方式如下:

  1. WPF系统创建一个与设备无关的单位:1/96英寸
  2. 使用以下公司获取物理像素。 物理单位尺寸=【设备无关单位的尺寸】【系统DPI】=1/96英寸96dpi=1像素
  3. 如果为120DPI的系统DPI ,则一个9696单位的按钮,则显示的物理单位尺寸则刚好是 96(120*1/96)=120像素

WPF体系结构

1.WPF概述 - 图1

  1. PresentationFramwork开发人员直接使用的类型,大多数来自该程序集
  2. PresentationCore 为基础类型,所有的形状类和控件类来自
  3. WindowsBase 使之能在WPF之外重用,包括了DispatcherObject,DependencyObject类
  4. milCore是WPF的渲染核心,也是媒体集成层的基础。
  5. WindowsCodecs 提供对图像操作支持的低级API(处理和线上为图,)
  6. Direct3D WPF中的所有图形由他进行渲染
  7. User32决定哪些程序实际占用桌面的哪些部分

相关的类型结构图

1.WPF概述 - 图2