WPF能做出让用户赏心悦目的UI界面,WPF在编写UI上的方便性、快捷性、绚丽的可视化效果以及其不错的用户体验,是其成为在Windows下开发UI界面的一把利器。
但WPF可能不满足在受限环境下,我们对效率的苛求。但我觉得这不是在追逐效率为王,而舍弃的一柄“宝剑”。在项目中遇到了UI界面使用WPF编写,而效率上、实时性上都要求很高的情况。因为大部分的UI界面已经完成,所以不能去舍弃现在的界面,再去开发。只能在这个基础上做尽可能的优化,让人欣慰的是效果还比较让人满意。所应用程序需要绘制大量的实时曲线,在刚开始数据频率比较低的情况下,使用WPF中的类去绘制曲线也是没问题的,但在数据频率提高很多的时候系统就受不了了。后来在WPF中调用Direct3D9绘制曲线,问题得到了解决。
主要是将Direct3D9实现绘制曲线功能,将其编写成DLL,应用程序在收到数据后传给Direct3D9,Direct3D9再进行绘制,然后应用程序再去提取渲染窗口的内容显示在应用程序界面上。WPF为Direct3D9提供了一个交互的类,这个类是