程序在单击按钮时创建一个对话框,并显示出来,后发现单击按钮时反应很慢,进行跟踪,发现m_pSubPage->Create( m_vtSubPageInfo[m_nActiveIndex]->m_nIDD, this ) 这句有时用了1300多毫秒,有时却只用400多毫秒,而对话框的OnInitDialog()函数每次都只用了200多毫秒,不知道其他时间用到那里去了。是不是还会响应其他函数啊?

解决方案 »

  1.   

    进行跟踪?
    那么你的debug要不要算时间呢?
    m_pSubPage->Create( m_vtSubPageInfo[m_nActiveIndex]->m_nIDD, this )会调用
    CreateWindow(..)应该还有别的
      

  2.   

    如果对话框结构复杂(使用很多控件尤其是ActiveX控件),在创建窗口的时候要初始化子控件,会花费比较多的时间。
      

  3.   

    我优化了一下onpaint里的代码,现在问题基本解决了。谢谢各位了。
      

  4.   

    DWORD Start = GetTickCount();
     函数
     GetTickCount()-Start得函数运行时间