当前位置:编程学习 > C#/ASP.NET >>

关于winform性能优化的问题

最近工作主要负责程序的性能优化,我们的系统业务比较复杂,之前做的时候没有很好的考虑性能这个关键问题,后来业务的增加导致了系统反应超级慢,我用dotTrace对几个主要功能模块进行分析后发现就一个主界面加载过程差不多就用了10s多,后来发现程序中出现很多内存泄露和GDI泄露,就想着用GDI泄露检测工具进行定位分析,但是找了2款工具发现都不好用,定位很不明确,如果自己手动去定位的话由于程序太大了,会很耗时间,所以想请教各位大神能给我分享下一些关于性能优化上的经验?或者分享一些比较好用的GDI泄露检测工具~~ --------------------编程问答-------------------- 可以很不负责的说,如果不进行代码Review,你们的项目早晚崩溃掉。 --------------------编程问答-------------------- 我前段时间
也对主服务端进行优化
把内存从5G降到2G
原来开三台服务器都会轮流断线
现在一台服务器都能7*24小时服务


--------------------编程问答--------------------
引用 1 楼 wddw1986 的回复:
可以很不负责的说,如果不进行代码Review,你们的项目早晚崩溃掉。
现在就是要对代码进行Review,但是第一步得要知道那部分代码最耗时,需要第一时间去修改啊~~ --------------------编程问答-------------------- 用了很多第三方的控件?
winform打开比较慢一般都是数据操作的增删改查造成的,你们怎么会因为GDI产生这样的问题。
你的内存泄露和GDI泄露指的是,能举个例子么 --------------------编程问答--------------------
引用 4 楼 silverradiance 的回复:
用了很多第三方的控件?
winform打开比较慢一般都是数据操作的增删改查造成的,你们怎么会因为GDI产生这样的问题。
你的内存泄露和GDI泄露指的是,能举个例子么
目前检测出来的GDI泄露主要体现在画图的时候DC对象,Brush对象和Font对象没有没及时回收~系统的很多界面基本上都是封装了.net的原来控件,这种算是第三方控件吗? --------------------编程问答-------------------- 没高手帮忙啊~~~ --------------------编程问答--------------------
引用 5 楼 punny123 的回复:
引用 4 楼 silverradiance 的回复:用了很多第三方的控件?
winform打开比较慢一般都是数据操作的增删改查造成的,你们怎么会因为GDI产生这样的问题。
你的内存泄露和GDI泄露指的是,能举个例子么目前检测出来的GDI泄露主要体现在画图的时候DC对象,Brush对象和Font对象没有没及时回收~系统的很多界面基本上都是封装了.net的原来控件,这种算……

啊,原来是绘图的对象都没有释放,自己封装控件的问题。这样的话得靠source 的review来优化了。没有用过什么好的工具,工具再怎么也只是辅助,很得靠自己呀 --------------------编程问答-------------------- 引用类型的回收。值类型的回收。最好可能占资源的类实现dispose接口。 --------------------编程问答--------------------
引用 7 楼 silverradiance 的回复:
引用 5 楼 punny123 的回复:
引用 4 楼 silverradiance 的回复:用了很多第三方的控件?
winform打开比较慢一般都是数据操作的增删改查造成的,你们怎么会因为GDI产生这样的问题。
你的内存泄露和GDI泄露指的是,能举个例子么目前检测出来的GDI泄露主要体现在画图的时候DC对象,Brush对象和Font对象没有没及时回收~系统的很多界面基本上都是封装了.net……
请教下用source和review怎么优化??能举个例子吗?我对绘图这方面不是很懂~~ --------------------编程问答--------------------
引用 9 楼 punny123 的回复:
引用 7 楼 silverradiance 的回复:引用 5 楼 punny123 的回复:
引用 4 楼 silverradiance 的回复:用了很多第三方的控件?
winform打开比较慢一般都是数据操作的增删改查造成的,你们怎么会因为GDI产生这样的问题。
你的内存泄露和GDI泄露指的是,能举个例子么目前检测出来的GDI泄露主要体现在画图的时候DC对象,Br……

这个我还没有发现什么好的办法,就是依靠自己的经验来重新查看自己的source,能优化的就进行优化,另外很多情况下程序运行一段时候后就会占用内存越来越多,这些问题都是能够通过优化来解决的
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,