2938|3

74

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

bitblt加载大位图图片显示时间问题? [复制链接]

我分别用VC和EVC写了相同的代码,发现在调用bitblt函数的时候调用的时间不一样,分别是15ms和180ms
其中IDB_BITMAP1为800*480的位图
代码如下:
  static DWORD time,oldtime,temp;
  time = ::GetTickCount();
  HDC hDC = ::GetDC(m_hWnd);
  HDC hMemDC = CreateCompatibleDC(hDC);
  HBITMAP hBitmap = ::LoadBitmap(AfxGetApp()->m_hInstance, (LPCTSTR)IDB_BITMAP1);
  hOldBitmap = (HBITMAP)SelectObject(hMemDC, hBitmap);
  ::BitBlt(hDC,0,0,800,480,hMemDC,0,0,SRCCOPY);
  oldtime = ::GetTickCount();
  temp = oldtime - time;
  SelectObject(hMemDC, hOldBitmap);
  DeleteObject(hBitmap);
  DeleteDC(hMemDC);
  DeleteDC(hDC);
  CString cs;
  cs.Format(_T("delay time = %d"), temp);
  ::AfxMessageBox(cs, MB_YESNO, 0);
注:用VC调用时,有时是0ms,有时是15ms;但用EVC调用的时候,一直都在180ms左右.
可能跟硬件有关系,因为VC调用是在PC机上调用的,EVC是在2440上调用的,但感觉180ms未免也太久了吧,请问是不是上面的代码有问题啊,有其它的办法来显示大位图图片吗?用directDraw可以吗,有范例吗?麻烦大家了!

最新回复

恩,这个我也想过了,可是显示一副图片要180ms会不会不正常啊,不知道GPS导航是怎么做的还可以在ARM上做大数据加载和图片缩放等功能?  详情 回复 发表于 2008-2-18 22:24
点赞 关注

回复
举报

81

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
硬件我想是主要的关系吧。你想想,如果是2G 对 200M 是十倍的关系啊。对于目前的CPU而言,ARM对显示的效果处理不好,不如X86平台的。
还有就是显卡关系,特别200M的ARM CPU还要处理图像,所以变得很慢。
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
同意楼上的,应该是硬件性能问题造成的。
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(中级)

4
 
恩,这个我也想过了,可是显示一副图片要180ms会不会不正常啊,不知道GPS导航是怎么做的还可以在ARM上做大数据加载和图片缩放等功能?
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表