我有一个对话框,里面包含了一个自制的控件(MFC ActiveX),显示一些信息。但是这个对话框打开多个实例后,系统的窗口显示速度变慢(中文输入的时候都慢),但是内存还有好多,应该没有内存泄露的问题,关掉程序后马上就没事了,请高手指点一下,可能是哪出问题了,怎么去检查。

解决方案 »

  1.   

    检查一下CPU占用率是不是很高。如果是的话,则你的控件里可能有很频繁的消息处理
      

  2.   

    你的程序可能有什么循环,可能是些死循环,或许是消息处理函数相互调用造成的,我也遇到过。
    比如在视图函数OnDraw里调用Invalidate();
      

  3.   

    CPU利用率很低,如果是消息循环处理,CPU应该很高吧,我查一下
    感觉好像是什么GDI资源用多了,导致系统GDI资源不够?
      

  4.   

    资源在使用后要删除.
    DeleteObject
      

  5.   

    主要检查一下你的循环方面的内容,肯定有不停地调用重画之类的函数,以至于占用了大多的cpu时间
      

  6.   

    火影说得对,是有个地方没释放,GetDC()后,没调用ReleaseDC().而且是在响应MouseMove事件中,呵呵