最近用VS2010编写的界面程序效率很差,由于这个程序里除了主线程外还另外开了三个线程A、B、C。线程A是成程序开启到结束都是运行状态,线程B、C是在指定情况下开启和关闭的,当我在视图里画图时这需要开启线程B和C,这就导致了线程A、B、C外加主线程四个同时运行导致了绘图的效率低实时性跟不上,界面和卡。后来想了一个办法也是从孙鑫那本书上看到的,就是在我绘图和界面一些其他操作时不需要A(osg线程)线程的时候我可以将它暂时挂起,操作完了之后再将它运行。挂起和运行函数分别如下:
SuspendThread(Handle);
ResumeThread(Handle);
这样的话我的二维视图在绘图过程中效率提高了三分之一(判定标准处理同样多的业务所用时间降低了接近三分之一)。