代码改变世界

WPF Summary:WPF的结构

2011-03-23 15:26  海蓓娜楽  阅读(251)  评论(0编辑  收藏  举报

WPF 主要编程模型是通过托管代码公开的。 在 WPF 的早期设计阶段,曾有过大量关于如何界定系统的托管组件和非托管组件的争论。 CLR 提供一系列的功能,可以令开发效率更高并且更加可靠(包括内存管理、错误处理和常规类型系统等),但这是需要付出代价的。

下图说明了 WPF 的主要组件。 关系图的红色部分是 WPF 的主要代码部分。 在这些组件中,只有milcore是非托管组件。 milcore是以非托管代码编写的,目的是实现与 DirectX 的紧密集成。 WPF 中的所有显示都是通过 DirectX 引擎完成的,因此硬件和软件呈现都很高效。 WPF 还要求对内存和执行进行精细控制。 milcore 中的组合引擎受性能影响关系大,需要放弃 CLR 的许多优点来提高性能。

WPF 结构