在一个View视图上逐个显示5万个点(一个航迹数据),显示速度可调整,1:60秒 到 1:3600秒不等
数据中每个点都有时间参数,速度越来越慢,怎么解决啊?
我目前做法:首先根据显示速度设置订时器,1:60秒时,SetTimer(1,1000,NULL);m_PointArray//存放所有点
//要求个别航迹段显示的线形还不一样,有的实线,有的虚线,所以用MoveTo,LineTo来画。
void CDrawTrack::OnDraw(CDC *pDC, int nCount)
{
        CPoint tempPoint;
tempPoint = m_PointArray[0].point;
pDC->MoveTo(tempPoint);
for (int i = 1; i < nCount; i++)
{     
  tempPoint = m_PointArray[i].point; 
  if(m_PointArray[i].nLineStyle == 1)//该段线形--虚线
          {
             //此处设置画笔为虚线
          }         
  pDC->LineTo(tempPoint); 
}
}
void CDrawTrack::OnTimer(UINT nIDEvent)
{
   if(nIDEvent == 1)
   {
     
     pView->Invalidate(FALSE);//pView当前窗口指针
   }
}
int nCount = 0;//当前点的个数
void CTrackView::OnDraw(CDC* pDC)//View视图类
{
// 此处使用双缓存方式显示线
...
    pDrawTrack->OnDraw(pDC, nCount++);
    pDC->BitBlt(UpdateRect.left, UpdateRect.top, UpdateRect.Width(), UpdateRect.Height(),
m_pMemDC, UpdateRect.left, UpdateRect.top, SRCCOPY);
}开始几百个点速度还可以,上万个点速度就明显慢了,怎么能搞定这个问题啊??急急,谢谢..