WPF 卡顿调试经验

原文:WPF 卡顿调试经验

1. 问题

最近的一个项目,正常调试情况下,运行一切正常,但是有某个用户登录后,出现界面卡顿2-3mins后,才正常运行。

2.解决问题方法

(1)首先由于是必现问题,就想在vs的工作环境下调试一下,看看到底是什么地方比较慢,想法很理想,但是现实很残酷,没有找到问题所在。

(2)使用VS中的性能与诊断工具,测试一下那个地方花费的时间多,具体步骤如下:

  (a)打开VS中的菜单栏分析-》性能与诊断

  (b)选择性能向导,开始

   (c)选择检测,测量函数调用计数与用时

  (d)选择要测试的项目

  (e)勾选完成后启动分析,完成

  (f)程序运行一段时间后,停止分析

  (g)查看分析结果,找到耗时最多的函数

通过这套流程,终于找到造成界面卡顿的罪魁祸首的那行代码了,特此记录一下。

原文地址:https://www.cnblogs.com/lonelyxmas/p/9559627.html

时间: 2024-11-05 17:28:39

WPF 卡顿调试经验的相关文章

拒绝卡顿——在WPF中使用多线程更新UI

有经验的程序员们都知道:不能在UI线程上进行耗时操作,那样会造成界面卡顿,如下就是一个简单的示例: ????public partial class MainWindow : Window????{????????public MainWindow()????????{????????????InitializeComponent();????????????this.Dispatcher.Invoke(new Action(()=> { }));????????????this.Loaded

vs2013调试的时候卡顿

做毕业设计的时候忽然发现开始调试以后 会卡顿,这在前两天是没有的,纳尼,把我愁坏了. 首先以为程序或者vs出问题了.随后发现每次调试以后cpu急剧增加.随后就开始卡顿. 随后去网上搜索,发现两个答案. 1,在工具>选项>IntelliTrace 禁用IntelliTrace. 2,在工具>选项>调试>符号  取消microsoft符号服务器,对一下模块自动加载改为"仅指定的模块". 改好以后我以为我不调试不卡顿的vs又回来啦.但是发现 这尼玛还是卡顿. 万

iOS开发——项目实战总结&UITableView性能优化与卡顿问题

UITableView性能优化与卡顿问题 1.最常用的就是cell的重用, 注册重用标识符 如果不重用cell时,每当一个cell显示到屏幕上时,就会重新创建一个新的cell 如果有很多数据的时候,就会堆积很多cell.如果重用cell,为cell创建一个ID 每当需要显示cell 的时候,都会先去缓冲池中寻找可循环利用的cell,如果没有再重新创建cell 2.避免cell的重新布局 cell的布局填充等操作 比较耗时,一般创建时就布局好 如可以将cell单独放到一个自定义类,初始化时就布局好

Android 卡顿检测方案

应用的流畅度最直接的影响了 App 的用户体验,轻微的卡顿有时导致用户的界面操作需要等待一两秒钟才能生效,严重的卡顿则导致系统直接弹出 ANR 的提示窗口,让用户选择要继续等待还是关闭应用. 所以,如果想要提升用户体验,就需要尽量避免卡顿的产生,否则用户经历几次类似场景之后,只会动动手指卸载应用,再顺手到应用商店给个差评.关于卡顿的分析方案,已经有以下两种: 分析 trace 文件.通过分析系统的/data/anr/traces.txt,来找到导致 UI 线程阻塞的源头,这种方案比较适合开发过程

【凯子哥带你学Android】Andriod性能优化之列表卡顿——以“简书”APP为例

这几天闲得无聊,就打开手机上的开发者模式里面的"GPU过度绘制"功能,看看别家的App做的咋样,然后很偶然的打开了"简书",然后就被它的过度绘制惊呆了,于是写了这篇性能分析的文章,从一个只有APK文件的角度,说下如何寻找布局中可能存在的性能问题,以及解决方案.本文章以简书Android最新版本1.9.1进行分析. GPU过度绘制 Hierarchy View SysTrace TraceView 总结 分析资源下载 GPU过度绘制 首先打开下面两个功能开关 开发者模

Android App 优化之消除卡顿

转载:http://gold.xitu.io/post/582583328ac247004f3ab124 1, 感知卡顿 用户对卡顿的感知, 主要来源于界面的刷新. 而界面的性能主要是依赖于设备的UI渲染性能. 如果我们的UI设计过于复杂, 或是实现不够好, 设备又不给力, 界面就会像卡住了一样, 给用户卡顿的感觉. 1.1 16ms原则 在剖析卡顿的原因之前, 我们先来了解下Android中著名的"16ms"原则: Android系统每隔16ms会发出VSYNC信号重绘我们的界面(A

随手记一下,VS2015卡顿问题解决。

不知道什么开始,vs2015卡顿的很,启动时加载项目很慢,调试是启动慢,停止调试时直接卡死半分钟.其他都还能忍受,最不能忍受的是点击停止调试按钮后十几秒没反应! 网上有解决方案如下几个,我试了,都不行. 1.选项-环境-基于客户端性能自动调整视觉体验,去掉选项.没用. 2.选项-源代码管理-插件选无.没用 3.选项-文本编辑器-所有语言-滚动条,使用垂直滚动条的条状模式.默认就是这个.不用改,改了也没用. 4.选项-文本编辑器-所有语言-codelens.停用它.没用 5.选项-调试-启用net

netstream播放rtmp直播流卡顿

标准的flash播放器ActionScript3语句,播放flash publish的rtmp流,NetConnection--->NetStream--->play--->attachNetStream然而项目中这么做,一直处于卡顿状态.后来添加了一句 nsPlayer.bufferTime = 0.1; 居然不卡顿了.帮助文档说:The default value is 0.1 (one-tenth of a second). To determine the number of s

《直播疑难杂症排查》之二:播放卡顿

七牛直播云在 2016 年 6 月发布之后,帮助广大客户解决过形形色色的问题,如直播卡顿.马赛克.花屏.黑屏.杂音.音画不同步等等等等,这其中,有一些是网络原因,有一些是开发者的使用姿势问题,有一些是参数配置错误,当然,也有一些是 SDK 本身的问题. 总结下来,如果开发者能够对直播领域的一些基础知识有更深入的了解,掌握一些基本的排障手段,很多问题是能够很快自行解决的,甚至也能够更好地防患于未然. 因此,继<直播技术详解>系列文章之后,我们推出了这个新的系列<直播疑难杂症排查>,我