自己用VC作了一个ActiveX控件,类似于钟表,用来实时显示;因为钟表指针的每次转动都要调用Invalidatecontrol()刷新控件而我需要的刷新频率又比较高,大约5mm一次,造成使用时占用CPU达100%请问该怎么解决啊!!(已经使用了双缓冲区解决了闪烁问题)

解决方案 »

  1.   

    为什么要5mm一次,人眼未必跟得上吧,如果频率实在高,不如在想刷新时直接GetDC写如果没有必要的话,可以缓冲数据,内部再设置一个慢点的定时器,慢慢刷新。另外,请确定是否是刷新频率快而引起的CPU占用。
      

  2.   

    我已经很确定是刷新引起的CPU 100%啊
      

  3.   

    TO: teli_eurydice(哭泣的仙人掌。) 多谢!按照你的方法的确可以解决我的问题,但新问题又出来了!我的程序有多个页面(Dialog),靠showwindow(SW_SHOW )和SW_HIDE显示不同的页面按你的方法,现在即使我切换到其它页面时,仍然可以看到activex控件的指针(只有指针)在摆来摆去,好恐怖啊!!好像指针什么也挡不住!!请赐教!!谢谢