我的环境是 i7-6820HQ 及集成显卡。WPF 平台占用 70 多%的 GPU,这我大致能猜到。UWP 十分流畅,GPU 只占用 WPF 的一半,CPU 和 内存都有出色表现,不过我还以为会更低的。
WinUI 这个浓眉大眼的我真的万万没想到,不仅掉帧明显,还占用了几乎 100% GPU,也就是说它连这么简单的代码都跑不起来。()顺便一提,将测试代码中旋转的矩形减少为10个,WPF 的程序占用 32% GPU,而 WinUI 占用 70 多%。)
从上面的数据基本可以说明,WinUI 离设计目标还十分遥远,毕竟是预览版,还有一年半载可以慢慢优化。
5. 结语总的来说微软雄心勃勃,可是现在拿出来的 WinUI 预览版还差得太远,功能未完善,性能不及预期。我觉得大致方向没错,WinUI 对 C++、WPF、UWP 开发者都是个新的工具新的机遇,可以关注一下。
6. Q & A Windows 7 怎么办?按微软公布的路线图,再包括跳票等因素,等 WinUI 真正可用时 Windows 7 已停止更新很久,到时 Windows 7 的占有率可能已经下降到开发者不会关心的程度。
基于 .NET Core 的 Wpf 还是 WinUI?假使不想花精力将现有项目迁移到 WinUI,或者对来自 UWP 的 WinUI 没信心,又或者舍不得 Windows 7 的用户,并且对触摸没需求,当然可以继续选用 WPF,基于 .NET Core 的 WPF 会是个很好的选择。
MAUI 还是 WinUI ?MAUI 还在很遥远的将来(2021年11月),我没试玩过,所以不好评价。如果有跨平台需求当然只能选 MAUI,如果 WinUI 团队技高一筹实现了 MAUI 难以企及的超高性能,那就选 WinUI。不过 MAUI 这个名字太过普通/普遍,可能会被逼着改名吧。
那 UWP 呢?权限受限的 UWP 可以说是人畜无害,对用户来说可能也是个不错的选择。而且 UWP 还支持 Xbox 和 Hololens 等平台,目前看来还是有它的市场。
Winform 呢?人只有忘却了过去,才能好好活着。
WinUI 有未来吗?我做了好多年 Silverlight 开发,买了5、6部 Windows Phone 手机,写了几十篇 UWP 文章,根据我丰富的经验,我可以肯定 WinUI 是有未来的。
8. 参考WinUI - The modern native UI platform of Windows.
Introducing WinUI 3 Preview 1 - Windows Developer Blog
Get started with WinUI 3 for desktop apps Microsoft Docs
GitHub - microsoft_microsoft-ui-xaml
Windows UI Library Roadmap
WinUI 3.0_ The future of Windows controls