本文来告诉大家如何在 WPF 使用 D2D 画图。
本文是一个系列
什么是 D2D
实际上现在很多小伙伴对于渲染性能就是听到 DirectX 才会去搜索这个博客。我在博客园看到很少的博客讲到这个。即使有也很少会说如何使用 WPF 的。
那么 D2D 是一个提高性能的方法,具体是怎么做?基于 Direct3D 可以使用硬件加速的功能,即使在没有显卡,进行软渲染的性能也是比 GDI 快,但是渲染静态的还是建议使用 GDI。
现在的 WPF 底层使用的渲染是 Dx9 渲染 或使用 Dx11 Dx12 优化 fl9 渲染,所以性能实际上和直接使用 D2D 是差不多,但是 WPF 没有充分使用DX,所以如果自己写的性能会比较高。
因为 WPF 渲染使用的是 Dx9 或虽然使用了 Dx11 Dx12 但是优化是 fl9 ,所以在现在很多设备无法使用全部的性能。
Direct2D运行需求
这是我从大神的博客看到,如果需要运行 Direct2D 那么就需要在 win7 之后才可以。所以在现在几乎可以直接运行,很少有人会使用 win7 以下的设备。
安装
下面是我从 Nuget 安装,这个是很老的库,不太建议大家使用。
Nuget 搜索 WindowsAPICodePackDirectX 就可以安装,如果不知道安装哪个,请点击WindowsAPICodePackDirectX
这个库只是 x64 的库,所以想要运行还需要设置环境。
环境
如果直接使用这个库是无法运行,下面的代码只是作为大家快速入门,不能用于产品。安装这个库可以用在 x64 的进程,但是不能用在 x86 进程。
而且这个库不能直接在 dot net framework 4.5 的环境运行,需要创建 App.config 文件添加下面代码。需要注意,请修改创建项目使用 dot net framework 4.5 而不是更高的版本。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku = ".NETFramework,Version=v4.5"/>
<supportedRuntime