WPF 卡顿调试经验
1. 问题
最近的一个项目,正常调试情况下,运行一切正常,但是有某个用户登录后,出现界面卡顿2-3mins后,才正常运行。
2.解决问题方法
(1)首先由于是必现问题,就想在vs的工作环境下调试一下,看看到底是什么地方比较慢,想法很理想,但是现实很残酷,没有找到问题所在。
(2)使用VS中的性能与诊断工具,测试一下那个地方花费的时间多,具体步骤如下:
(a)打开VS中的菜单栏分析-》性能与诊断
(b)选择性能向导,开始
(c)选择检测,测量函数调用计数与用时
(d)选择要测试的项目
(e)勾选完成后启动分析,完成
(f)程序运行一段时间后,停止分析
(g)查看分析结果,找到耗时最多的函数
通过这套流程,终于找到造成界面卡顿的罪魁祸首的那行代码了,特此记录一下。
WPF 卡顿调试经验的更多相关文章
- 【C++】解决vs2015经常卡顿的办法
		
VS2015经常性的卡顿,参考了zhihu里问答的办法,编译和使用的时候的确快多了 为什么vs2015经常卡顿? https://www.zhihu.com/question/34911426 感谢z ...
 - 拒绝卡顿——在WPF中使用多线程更新UI
		
原文:拒绝卡顿--在WPF中使用多线程更新UI 有经验的程序员们都知道:不能在UI线程上进行耗时操作,那样会造成界面卡顿,如下就是一个简单的示例: public partial class MainW ...
 - VS2013 调试卡顿
		
今早好奇安装了花生壳远程控制软件.然后下午莫名的感觉到vs2013 调试特别的卡顿.会每隔1s中请求一次的那种卡顿于是卸载了花生壳控制软件,发现问题依旧.然后重启机器 ok了.果然不卡顿了. 我回忆了 ...
 - vs2013调试的时候卡顿
		
做毕业设计的时候忽然发现开始调试以后 会卡顿,这在前两天是没有的,纳尼,把我愁坏了. 首先以为程序或者vs出问题了.随后发现每次调试以后cpu急剧增加.随后就开始卡顿. 随后去网上搜索,发现两个答案. ...
 - WPF DataGrid OxyPlot 卡顿优化
		
不是优化,我是想用这个标题吸引遇到相同问题的同学过来看看. UI如下,左边DataGrid有7列,右边OxyPlot显示折线图 列表4000+数据,折线图4000+个点,页面卡的用不了. 体现就是列表 ...
 - 干货!一次kafka卡顿事故排查过程
		
由于一次功能上线后,导致某数据量急剧下滑,给我们紧张的呢!排查过程也是个学习过程(这其中有大部分是领导们的功劳,不过分享给大家应该也不犯法吧,ᐓ) 1. 确认问题的真实性? 被数据部门告知,某数据量下 ...
 - kafka卡顿
		
一次kafka卡顿事故排查过程 https://www.cnblogs.com/yougewe/p/8975550.html 由于一次功能上线后,导致某数据量急剧下滑,给我们紧张的呢!排查过程也是个学 ...
 - (转)CMOS Sensor的调试经验分享
		
CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一些调试经验. 首先,要认识CMOS摄像头的结构.我们通常拿到的是集成封装好的模组,一般由三个部分组成:镜头.感应器和图像信号处 ...
 - cocos2d-x 帧循环不严谨造成场景切换卡顿
		
最近在用cocos2d-x做引导界面,2dx版本是2.2.3,场景切换加上了效果,所有资源都已经使用texturepacker打包预加载,但是在实际运行调试中,场景切换相当卡顿. 各种纠结后,无意中将 ...
 
随机推荐
- Linux下分析某个进程CPU占用率高的原因
			
Linux下分析某个进程CPU占用率高的原因 通过top命令找出消耗资源高的线程id,利用strace命令查看该线程所有系统调用 1.top 查到占用cpu高的进程pid 2.查看该pid的线程 ...
 - C++ - memset的效率和源码分析
			
void *memset(void *s, int ch, size_t n); 作用:将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函 ...
 - java的方法传参,最容易混淆的问题!!!
			
参数传递 参数传递,可以理解当我们要调用一个方法时,我们会把指定的数值,传递给方法中的参数,这样方法中的参数就拥有了这个指定的值,可以使用该值,在方法中运算了.这种传递方式,我们称为参数传递. 在这里 ...
 - JS: 如何计算一个月有多少天
			
转自:https://www.2cto.com/kf/201806/755776.html 1 function getCountDays() { var curDate = new Date(); ...
 - canvas和svg的区别
			
讨论关于canvas和svg的区别.首先canvas是html5提供的新元素<canvas>,而svg存在的历史要比canvas久远,已经有十几年了.svg并不是html5专有的标签,最初 ...
 - ICG游戏:证明,先手不是必胜就是必败。
			
简介: ICG游戏:Impartial Combinatorial Games,公平的组合游戏. 以下是定义,来自网络,可能不够严谨: 1.两名选手:2.两名选手轮流行动,每一次行动可以在有限合法操作 ...
 - JAVA高并发线程
			
一.JAVA高级并发 1.5JDK之后引入高级并发特性,大多数的特性在java.util.concurrent 包中,是专门用于多线程发编程的,充分利用了现代多处理器和多核心系统的功能以编写大规模并发 ...
 - Region在connection前后进行“交并差”等操作的异同
			
connection直译为“连接”.其实它的功能不是连接,它的功能是确定区域之间的连接关系,如果简单粗暴地解释的话,可以认为:connection的意思是“打散”,将不连接的区域打散成一个一个的区域. ...
 - sql时间戳转日期格式
			
FROM_UNIXTIME(ctime, '%Y-%m-%d %H:%i:%s')
 - java反射机制学习代码
			
根据 http://www.iteye.com/topic/137944 文档进行学习 代码如下: package reflectTest; import java.lang.reflect.*; i ...