vc 重绘占用CPU过高有关问题

vc 重绘占用CPU过高问题
在单文档视图中绘制运动轨迹,每秒钟增加一个点,视图不停的重绘,程序大概在运行一个半小时的时候,CPU使用率会达到%50.请问高手这个问题怎么解决?

------解决方案--------------------
建立内存dc,每次都画在内存dc上
然后ondraw里拷贝过去

------解决方案--------------------
问题出现在在你每秒都重绘上,如果点子过多,你再使用setpixel这类函数,cpu占用肯定就高了。

1. 每次只绘改变的点。
2. 更改绘图方式。

------解决方案--------------------
可能是每次重绘都是从第一个点画起的吧,那样的话,花时间太多了,可以只画后面新生成的点
------解决方案--------------------
上代码....
------解决方案--------------------
cainiao luguo
------解决方案--------------------
记得侯捷的<深入浅出MFC>里面有个重绘的 Hint,就是只画你一部分,
建议你看一下,应该有帮助,

------解决方案--------------------
C/C++ code

#include "ENtime.h"



//每一帖起始时间
void ENtime::countGetTickCount()
{
    IniFrameDelay=GetTickCount();//获得豪秒
//    cout<<"IniFrameDelay:"<<IniFrameDelay<<endl;
}

//计算每一帖帖速
void ENtime::countFrameSpeed()
{
    FrameDelay=GetTickCount() - IniFrameDelay;//每一帖的帖速
//    cout<<"FrameDelay:"<<FrameDelay<<" SetSpeedValue:"<<SetSpeedValue<<endl;    
}


//控制相对帖速
int ENtime::setFrameSpeed(float speed)
{
    SetSpeedValue=speed;//设置帖速
    return 1;
}

//获取相对帖速值
int ENtime::getFrameSpeed()
{
    return SetSpeedValue;
}


//设置sleep
bool ENtime::FrameSleep()
{
    FrameDelay=GetTickCount() - IniFrameDelay;//每一帖的帖速
    if(FrameDelay < SetSpeedValue)
    {
        ::Sleep(SetSpeedValue - FrameDelay);//主动放弃CPU使用时间
    //    ::Sleep(SetSpeedValue);//主动放弃CPU使用时间
        return 0;//帖速不合符要求
    }
    return 1;//帖速合符要求
}