摘要: 在程序设计中我秉承的优化策略是只要性能提升有帮助,哪怕只能提千分之一毫秒的时间的方法都值得采用。平台调用是一个损耗性能的方式,比如.Net里已经提供了Console.WriteLine,你也可以通过平台调用使用非托管代码的Printf,但这种无意义的平台调用只会让封送拆封其无意义的执行损耗程序的性能。所以我给出的第一条建议是:1.只在必要的时刻进行平台调用,否则推荐使用托管代码。如果必须进行平台调... 阅读全文
posted @ 2010-09-01 15:47 李崇森 阅读(856) 评论(0) 推荐(1) 编辑
摘要: 由于非托管dll在导出非托管函数时会采用一些不同的调用约定,在某些情况下如果使用默认的调用约定就可能出现无法正确调用非托管函数的情况,因此必须显示的制定调用约定既DllImport数次那个中的CallingConvention字段,CallingConvention字段定义了调用约定,CallingConvention可以取的所有值如下:Cdecl : 调用方既托管代码方负责清理堆栈,这就使得开发... 阅读全文
posted @ 2010-09-01 15:08 李崇森 阅读(676) 评论(0) 推荐(1) 编辑
摘要: 如何提高GDI+绘图的效率,我个人认为效率的提高是一个综合性的工程,并不能仅仅从所用技术出发,而更应该从需求上,程序架构上出发。这里我先从技术上出发对提高GDI+绘图效率说出一些我的想法:1. 是否需要全局刷新?可以用setClip或者Invalidate进行局部区域的刷新2.减少在绘图时对象的创建活动,把不必要的资源的创建对象的创建全部移出到全局3.使用了双缓冲技术来较少图形的闪烁4.使用bit... 阅读全文
posted @ 2010-09-01 14:41 李崇森 阅读(1206) 评论(0) 推荐(1) 编辑
摘要: 最近在做使用GDI+绘制K线界面发现传统的GDI+绘制方式效率比较低,根本无法满足K线界面及时刷新的速度要求。所以做了个GDI+绘制图形界面的试验,改试验主要在一个600×600的区域内每隔10MS绘制60×60个点,每隔10MS改变其颜色,并记录每次绘制的帧数作为比较GDI+绘图性能的依据(这个界面是摘自网上)在这里定义个一个timer控件,刷新时间设为10ms,tick事件... 阅读全文
posted @ 2010-09-01 14:27 李崇森 阅读(5020) 评论(2) 推荐(1) 编辑