引言

WPF从.net framewok3.0加入以来,经历了很多跟新。每次更新都给用户带来了新的功能或者优化性能。下面我们首先看下WPF再.netFramework中的位置,接着介绍下WPF的架构框架。希望大家能够清楚WPF在.net framework中的位置,便于我们学习WPF时有个定性的认识。

.net framework 特性变迁概览

图片来源http://en.wikipedia.org/wiki/.NET_Framework_version_history

WPF在.netframework4.5架构中的位置

图片来源:http://www.dotnet-tricks.com/Tutorial/netframework/NcaT161013-Understanding-.Net-Framework-4.5-Architecture.html

WPF结构

上图为微软官方提供的WPF主要组件架构图

图中红色部分(PresentationFramework, PresentationCore, 和milcore)是WPF的主要代码部分,其只有一部分是非托管代码-milcore,milcore之所以用非托管代码编写的目的是为了紧密地和DirectX集成。WPF中的所有显示都是通过DirectX引擎,这样就允许高效利用软硬件来渲染。WPF需要很好的控制程序的内存和执行。milcore对WPF性能极其敏感,所以它放弃了CLR提供的许多优势而采用非托管模式来换取更好的性能

这张图更详细的阐述了WPF的框架结构。对于官方的对WPF架构的解释一目了然。

最新文章

  1. PHP中curl的CURLOPT_POSTFIELDS参数使用细节
  2. 快速入门SaltStack
  3. python中property干什么用的?
  4. i686和x86_64的区别
  5. Swift实战-豆瓣电台(八)播放进度与时间
  6. xamarin提供在线检查.net代码是否支援xamarin,ios,android
  7. 【转】图文并茂 Ubuntu使用Thunderbird方法指南
  8. iOS-设计模式之代理反向传值
  9. JavaEE JavaBean 反射、内省、BeanUtils
  10. php数组根据某键值,把相同键值的合并最终生成一个新的二维数组
  11. PDO学习
  12. JPanel与JFrame的区别
  13. IntentService解析
  14. 【html+css3】在一张jpg图片上,显示多张透明的png图片
  15. python sshtunnel 简单介绍
  16. Python学习杂记
  17. 搭建项目vue + vue-router + vuex + vue-i18n + element-ui + egg + sequelize
  18. ios开发之--UITextField光标右移
  19. 独家揭秘,106岁的IBM靠什么完成了世纪大转型|钛度专访
  20. Echarts中axislabel文字过长导致显示不全或重叠

热门文章

  1. js树形控件—zTree使用总结
  2. Visual Studio 2008 Package Load Failure:未能正确加载包“Microsoft.VisualStudio.Xaml”
  3. 【Win10开发】Toast通知——后台激活
  4. ul li设置横排,并除去li前的圆点
  5. 在IIS启用MP4
  6. centos下安装php扩展php-memcached
  7. [moka同学笔记]使用composer 安装yii2以及遇到的问题
  8. Spring学习系列(二) 自动化装配Bean
  9. .net开发过程中Bin目录下面几种文件格式的解释
  10. java web学习总结(十五) -------------------JSP基础语法