当前位置: 首页 > news >正文

搭建网站服务器教程seo快速排名软件平台

搭建网站服务器教程,seo快速排名软件平台,公众号小程序怎么开通,长沙网站设计公司怎么样WPF(Windows Presentation Foundation)应用程序在没有图形加速设备的机器上运行速度很慢是个公开的秘密#xff0c;给用户的感觉是它太吃资源了#xff0c;WPF程序的性能和硬件确实有很大的关系#xff0c;越高档的机器性能越有优势。 程序性能改善不是一蹴而就的#xff…  WPF(Windows Presentation Foundation)应用程序在没有图形加速设备的机器上运行速度很慢是个公开的秘密给用户的感觉是它太吃资源了WPF程序的性能和硬件确实有很大的关系越高档的机器性能越有优势。    程序性能改善不是一蹴而就的好的设计可以消除影响性能的问题例如在运行时构造对象就会对程序的性能造成影响。虽然WPF通过增强的导航等功能提供了更丰富的用户界面但你应该考虑你的用户是否的确需要富图形界面尽管WPF有这样那样的问题但在UI设计特别是自定义风格和控件模板方面的确给开发人员提供了不少灵活性。   图 1 WPF架构蓝色是Windows组件褐色是WPF组件   渲染WPF程序的主要因素是它包含的像素量WPF使用微软的DirectX在程序运行的硬件上进行渲染因此如果你的机器有独立显卡运行WPF程序会更流畅。除了提高硬件配置外我们来看看10个提高WPF程序性能的软方法。   1、降低Bitmapscalingmode加速图像渲染   当你的WPF程序中包含有动画时你可以使用RenderOptions对象的BitmapScalingMode属性降低资源消耗需要将BitMapScalingMode属性的值设为LowQuality这样就会使用加速算法处理图像而不是默认的高质量图像重采样算法。下面的代码片段显示了最基本的实现方法 RenderOptions.SetBitmapScalingMode(imageObject,BitmapScalingMode.LowQuality);     2、在正确的地方使用正确的元素   我们需要在正确的地方使用正确的元素当你生成树时应避免使用UIElements作为子或嵌套控件最好的例子是FlowDocument我们经常在FlowDocument中使用TextBlock元素。 FlowDocument     Paragraph       TextBlocksome text/TextBlock     /Paragraph   /FlowDocument     除了上面这样写外我们还可以象下面这样重写XAML内容Run元素不是UIElement渲染时系统开销更小。 FlowDocument  Paragraph    Runsome text/Run  /Paragraph/FlowDocument     类似的例子是使用Label控件的Content属性如果在其生命周期内内容不止更新一次并且是个字符串这个数据绑定过程可能会阻碍程序的性能由于内容是一个字符串在数据绑定期间它会被丢弃并重新创建。在这种情况下使用TextBlock将数据绑定到Text属性更有效。   在可视化树中出现不必要的元素也会降低WPF程序的速度你最好结合布局优化默认的控件模板。    3、增加静态资源的使用   静态资源是预定义的资源可以连接到XAML属性它类似于编译时绑定不会影响性能另一方面动态资源涉及到运行时查找和对象的构建从而会影响到性能。但也需要注意静态资源需要在编译时展示。   静态资源的引用可以参考下面的方法 Button         Template{StaticResource RoundButtonWithThickEdge}          x:Namebutton1 ContentButton 1   /Button     下面的代码片段显示了静态资源RoundButtonWithThickEdge的定义 ControlTemplate        x:KeyRoundButtonWithThickEdge        TargetType{x:Type Button}        Grid          Ellipse Fill{TemplateBinding Background}            Stroke{x:Null}            HorizontalAlignmentStretch x:Nameellipse/              ContentPresenter HorizontalAlignmentCenter VerticalAlignmentCenter/                  Ellipse Stroke{x:Null} Margin2,3,4,5                    Ellipse.Fill                      LinearGradientBrush EndPoint0.5,1 StartPoint0.5,0                    GradientStop Color#FFFBFAFA Offset0/                   GradientStop Color#1DFFFFFF Offset1/              /LinearGradientBrush            /Ellipse.Fill          /Ellipse        /Grid      /ControlTemplate     4、当你想显示大型数据时使用UI虚拟化的控件   想象一下一个组合框绑定大量行时的样子它会让组合框中项目的展现变得非常慢这是因为在这种情况下程序需要计算每个项目的具体显示位置使用WPF时你可以延迟这个行为这就叫做UI虚拟化它只会在其可见范围内生产项目显示需要的容器。   要实现这种效果你需要将相应控件的IsVirtualizing属性设为True例如Listbox经常用来绑定大型数据集它是UI虚拟化的重要候选者其它适宜UI虚拟化的控件包括ComboboxListView和TreeView。   5、使用延迟滚动增强用户体验   如果你还记得可滚动的DataGrid或ListBox它们往往会降低整个应用程序的性能因为在滚动时会强制连续更新这是默认的行为在这种情况下我们可以使用控件的延迟滚动(Deferred Scrolling)属性增强用户体验。你需要做的仅仅是将IsDeferredScrollingEnabled附加属性设为True。   6、使用字体缓存服务提高启动时间   WPF应用程序之间可以共享字体数据它是通过一个叫做PresentationFontCache Service的Windows服务实现的它会随Windows自动启动。   你可以在控制面板的“服务”中找到这个服务(或在“运行”框中输入Services.msc)确保这个服务已经启动。   7、使用卸载事件卸载不必要的动画   动画肯定会占用一定的资源如果处置方式不当将会消耗更多的资源如果你认为它们无用时你应该考虑如何处理他们如果不这样做就要等到可爱的垃圾回收器先生来回收资源。   例如假设要删除一个StoryBorad在Unload事件中使用StoryBorad的Remove方法下面的例子来自MSDN。 EventTrigger RoutedEventPage.Unloaded           EventTrigger.Actions             RemoveStoryboard BeginStoryboardNamemyBeginStoryboard/           /EventTrigger.Actions   /EventTrigger     8、使用容器回收提高性能   你可以通过回收执行虚拟化的容器来提高性能下面的代码片段将ViruatlizationMode设为Recycling它让你可以获得更好的性能。当用户滚动或抵达另一个项目时它强制重复使用容器对象。 settingVirtualizingStackPanel.VirtualizationModeRecycling     9、预测图像绘制能力   使用RenderCapability.Tier属性确定机器是支持硬件加速还是部分硬件加速疑惑没有硬件加速下面的代码显示了你要如何检查Tier。 int displayTier (System.Windows.Media.RenderCapability.Tier 16)      if (displayTier 0)   {      //no hardware acceleration   }   elseif (displayTier 1)   {      //partial hardware acceleration   }   else   {      //supports hardware acceleration   }     确定了之后你就可以有选择性地选择那些在用户硬件上工作得很好的功能   10、使用WPF分析工具分析WPF程序   分析WPF程序是理解其行为很重要的一步市场上有大量现成的WPF程序分析工具如SnoopWPFPerfPerforator和Visual Profiler其中Perforator和Visual Profiler是WPF Performance Suite的一部分要了解这些工具的用法请去它们的项目主页。转载于:https://www.cnblogs.com/happyyftk/p/3328160.html
http://www.zqtcl.cn/news/544676/

相关文章:

  • 青岛城阳网站制作网站建设详细步骤
  • 先做网站再付款 怎么回答设计方案步骤
  • 汕头建站模板济南网站建设富库网络
  • 创业网站建设方案项目书手机app设计软件
  • 建设端午节网站的目的主题wordpress语法高亮插件
  • 做网站开发使用百分比的好处深圳建设网站公司简介
  • 行距网站上海专业网站建设机构
  • 闵行手机网站建设鲅鱼圈规划建设局网站
  • 合肥市城乡和建设网站网页设计与网站建设区别
  • 青岛网站建设企业建站北京网站模仿
  • 广州建设网站的公司简介湛江建设厅网站
  • 做网站不赚钱了网站关键词排行查询
  • 印度人通过什么网站做国际贸易三门峡做网站
  • 网站排名快速提升工具招远建网站首选公司
  • 手机网站格式商城网游开发公司
  • 手机怎样创建网站长春网站建设哪家专业
  • 做pop网站定制开发教程
  • 成都响应式网站建报告问题
  • 做设计找素材的+网站有哪些建立平台什么意思
  • 网站设置在哪里找宁德网站建设制作
  • logo网站设计素材品牌高端网站建设公司
  • 芙蓉区乡建设局网站郑州网站建设qicaizz
  • 网站建设的缺陷个人网站制作图片
  • 四川省建设厅注册管理中心网站设计上海2021门票
  • 帝国cms做微网站人力资源公司怎么开
  • 网站建设学徒松江品划做网站公司
  • 灯饰网站需要这么做深圳专业网站设计公司
  • 政务网站设计wordpress 嵌入html5
  • 移动网站 pc网站的区别吗网站建设工厂
  • 有意义网站织梦圈子如何调用网站默认模板