使用精确定时测试MFC中List Control写入速度
2016-10-05 23:28
573 查看
需要在List Control中写入大量数据,为了测试写入效率编写了如下小程序测试写入时间
//List Control写入时间测试
CString str = _T("1234567890");
LONGLONG t1,t2;
LONGLONG persecond;
//查询系统一秒钟的频率
QueryPerformanceFrequency((LARGE_INTEGER *)&persecond);
QueryPerformanceCounter((LARGE_INTEGER *)&t1);
m_list.SetRedraw(FALSE);//对比隐去前后效果
for (i = 0; i < 10000; i++)
{
m_list.InsertItem(i, str);
}
m_list.SetRedraw(TRUE);//对比隐去前后效果
QueryPerformanceCounter((LARGE_INTEGER *)&t2);
double time = (double)(t2 - t1)/persecond;
str.Format(_T("%.10f"), time);
m_list.InsertItem(0, str);
return;
一次写入10000行数据,写入完成后将用时时间写入第一行。
不加入m_list.SetRedraw()函数,用时大概在1.5s左右;
加入m_list.SetRedraw()函数,用时大概在0.13s左右。
可见在大量更新List Control的情况下,加入SetRedraw可以大幅提高写入效率。
//List Control写入时间测试
CString str = _T("1234567890");
LONGLONG t1,t2;
LONGLONG persecond;
//查询系统一秒钟的频率
QueryPerformanceFrequency((LARGE_INTEGER *)&persecond);
QueryPerformanceCounter((LARGE_INTEGER *)&t1);
m_list.SetRedraw(FALSE);//对比隐去前后效果
for (i = 0; i < 10000; i++)
{
m_list.InsertItem(i, str);
}
m_list.SetRedraw(TRUE);//对比隐去前后效果
QueryPerformanceCounter((LARGE_INTEGER *)&t2);
double time = (double)(t2 - t1)/persecond;
str.Format(_T("%.10f"), time);
m_list.InsertItem(0, str);
return;
一次写入10000行数据,写入完成后将用时时间写入第一行。
不加入m_list.SetRedraw()函数,用时大概在1.5s左右;
加入m_list.SetRedraw()函数,用时大概在0.13s左右。
可见在大量更新List Control的情况下,加入SetRedraw可以大幅提高写入效率。
相关文章推荐
- MFC ListControl如何使用
- MFC ListControl如何使用
- MFC入门学习之控件(4)标签控件List Control的添加和使用(上)
- C++ MFC combo box和list control控件的使用
- MFC中List Control控件的各类使用
- MFC中ListControl控件的使用
- VC++.NET MFC的LIST CONTROL使用技巧1
- MFC入门学习之控件(5)标签控件List Control的添加和使用(中)
- MFC控件使用说明(combo box Button Check Box Radio Button List Control Edit Box Hot Key IP Address....)
- MFC中ListControl控件的使用
- MFC控件使用说明(combo box Button Check Box Radio Button List Control Edit Box Hot Key IP Address)
- C++ MFC combo box和list control控件的使用
- MFC控件使用说明(combo box Button Check Box Radio Button List Control Edit Box Hot Key IP Address....)
- C++ MFC combo box和list control控件的使用
- MFC中ListControl控件的使用
- MFC中ListControl控件的使用
- MFC中ListControl控件的使用
- MFC ListControl的使用
- MFC入门学习之控件(6)标签控件List Control的添加和使用(下)
- MFC中ListControl控件的使用