DFB 和DIB的比较

DFB 和DIB的比较
作者: Vladislav Gelfer
翻译: huyoo(空格键)2004-6-25 4:46
来源:http://www.codeproject.com/bitmap/DFB_vs_DIB.asp
译者按:我按照外文直译的,意思应该表述清楚了*_~

摘要:DFB和DIB之间的不同点

介绍
什么是位图(bitmap),什么又是设备无关位图(DIB)呢?它们二者之间有什么区别呢?为什么Windows API 有这样几个函数:CreateBitmap, CreateCompatibleBitmap, CreateDIBitmap和CreateDIBSection呢?函数SetBitmapBits 和 SetDIBits之间的区别又是什么呢?

老实说,在很长一段时间里面,我对这些问题是回答不出来的.我猜测我并不是仅有的一个回答不出这些问题的人.而所有这些问题得到完美解决,则是在我写出了自己的"内核模式视频驱动"之后^_^!

我相信所有使用GDI的程序员们,都应该了解或者知晓这些答案.

2D加速epopee(暂时不会翻译这个词)

什么是视频卡?显然,它是一种硬件,用来(译者注:暂时或长时间)存储一幅图像并把它传输到某种显示设备(显示器或者其他)上面去.这副图像是被存储在视频卡的internal内存(视频内存)中的,同时视频卡为显示器的cathode(译者注:可能是阴极的意思)ray射线的某种速率(刷新频率)产生一个信号.这是基本的常识;今天的视频卡举我们所知做的事情比这些多得多.

通常来讲,图像的大小是多少呢?它们会消耗掉多少资源呢?approximately来讲,一幅640x480的,一个象素占用8个bit比特的图像,将会占用300k的内存,800x600的16位图像则会占用937.5k内存(译者注:应该是视频卡内存),而以1024x768的24位/像素的图像来说,我们需要2.25Mb内存.这是非常多的!如果你想显示这样一幅图像,你必须以高于2Mb/秒的速率传输图像.假设现在你,想使这副图像产生动画(比如移动它).这个过程将会消耗大量的系统资源.另外,如果你想要对这副图像在屏幕上进行一些调整,你必须把它从视频内存中pull出来,alter它,然后upload it back.同时,考虑到绘图的复杂性(the drawing complexity)这样衣服图像的绘制解决(involves)了altering成百上千的像素,a significant payload for the CPU.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值