WPF 主要编程模型是通过托管代码公开的。 在 WPF 的早期设计阶段,曾有过大量关于如何界定系统的托管组件和非托管组件的争论。 CLR 提供一系列的功能,可以令开发效率更高并且更加可靠(包括内存管理、错误处理和常规类型系统等),但这是需要付出代价的。
下图说明了 WPF 的主要组件。 关系图的红色部分是 WPF 的主要代码部分。 在这些组件中,只有milcore是非托管组件。 milcore是以非托管代码编写的,目的是实现与 DirectX 的紧密集成。 WPF 中的所有显示都是通过 DirectX 引擎完成的,因此硬件和软件呈现都很高效。 WPF 还要求对内存和执行进行精细控制。 milcore 中的组合引擎受性能影响关系大,需要放弃 CLR 的许多优点来提高性能。
WPF采用托管代码公开主要编程模型,milcore作为唯一非托管组件实现与DirectX的紧密集成,确保高效的硬件和软件呈现。为了提升性能,milcore放弃了CLR的部分优势。

1717

被折叠的 条评论
为什么被折叠?



