在 WPF 中很多小伙伴都会遇到渲染性能的问题,虽然 WPF 的渲染可以甩浏览器渲染几条街,但是还是支持不了游戏级的渲染。在 WPF 使用的 DX 只是优化等级为 9 和 DX 9 差不多的性能,微软在很多开发者的提议开放了现代渲染方法 Composition API 这是 UI 应用的里程碑的技术
现在这个技术只是最小可用版本,但是还是可以玩一下。
先更新自己的系统到1803或以上,如果是想成为 Windows 开发者,就需要自己的系统是最新的
然后下载安装 VS 2019 最新版本,安装 .NET Core 3.0 预览版
官方下载链接 VisualStudio 2019 .NET Core
下载运行代码
从 github 官方 https://github.com/Microsoft/Windows.UI.Composition-Win32-Samples 下载最新代码,尝试编译运行
打开 dotnet\WPF\HelloComposition
里面的解决方案,注意使用 VisualStudio 2019 打开
通过 Nuget 还原两个库,一个是 Microsoft.Windows.SDK.Contracts 这是一个包含在桌面使用的 Windows Runtime API 库和System.Numerics.Vectors 支持向量计算
这里的 HelloComposition 就是最简单的项目,可以通过这个项目了解使用方法
因为这个项目现在还是预览的,要做好使用命令行编译,在一开始发现了这个项目使用的是以前的 csproj 格式,同时也没法直接在 VisualStudio 2019 里面编译成功,于是我将这个项目格式修改为新的格式,通过命令行还原编译之后就可以在 VisualStudio 2019 调试了。
修改方法是使用下面代码替换 HelloComposition.csproj 文件,同时删除 HelloComposition\Properties\AssemblyInfo.cs
文件
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
<UseWPF>true</UseWPF<