读书人

wince6.0 怎么加快绘图速度

发布时间: 2013-03-17 13:48:31 作者: rapoo

wince6.0 如何加快绘图速度?
环境:wince6.0 VS2008 MFC
问题:在wince下绘图速度太慢了,不能到达项目需求。请问如何加快绘图速度?
我做到速度测试:


CDC kdc;
CBitmap kbit;
kdc.CreateCompatibleDC(&dc);
kbit.CreateCompatibleBitmap(&dc,m_crt.Width(),m_crt.Height());
kdc.SelectObject(&kbit);

void CMyPicBox::OnPaint()
{
CPaintDC dc(this); // device context for painting
GetClientRect(&m_crt);
m_comRect = CRect(m_crt.left + 30,m_crt.top + 20,m_crt.right - 30,m_crt.bottom - 20);

if(m_paintobj2)return;
m_paintobj2 = TRUE;

m_refreshbktime = GetTickCount();
kdc.FillRect(m_crt,&CBrush(m_bkColor));//清空
for(int i = 0; i < 640; i++)
{
kdc.SelectObject(m_ampPen[i % MAXAMPLEVEL]);
kdc.MoveTo(m_crt.left + i, m_comRect.top);
kdc.LineTo(m_crt.left + i, m_comRect.bottom);
}

dc.BitBlt(0,0,m_crt.Width(),m_crt.Height(),&kdc,0,0,SRCCOPY);
kdc.DeleteDC();
kbit.DeleteObject();
m_refreshbktime = GetTickCount() - m_refreshbktime;
m_paintobj2 = FALSE;
return;
}

/******************************
测试结果:330ms,其中
SelectObject : 共需要80ms
BitBlt : 23ms
MoveTo + LinTo: 220ms
*******************************/


需求是想把绘图时间限制在100ms左右。 wince 绘图 速度慢
[解决办法]
谁叫你用模拟器来玩VS,慢是肯定的。
[解决办法]
不知道如ls所说的?

读书人网 >VC/MFC

热点推荐