分享
 
 
 

浅谈双缓冲技术和页交换技术及其区别

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

从速度上来讲页交换操作更快一点。

我最先接触页交换是在学DirectX的时候。出现页交换技术是因为SVGA卡的视频缓存已经足够的大了,一般都是8M以上,现在主流显示卡则能达到128M。这样大的显存除了用于可见屏幕的显示,还有大量的剩余,这剩余的显存则可以用于存储暂时不显示在屏幕上的位图。VGA/SVGA系统的结构下,视频缓存所分配到的地址(十六位下)都是0xA000:0000-0xA000:FFFF的64K和0xB000:0000-0xB000:FFFF的64K。其中前一个称为A窗口用于图形模式,后一个称为B窗口用于文本模式。VGA/SVGA系统的另一个特点就是通过寄存器编程或BIOS调用可以改变可见视频缓存区在视频缓存中的起始位置,这个就是页交换技术实现的硬件基础。

所谓的页交换,就是改变了可见视频缓存区在视频缓存中的起始位置。假如一个视频模式,需要256K的视频缓存,而视频缓存为8M。在初始化视频模式,一般都会把可见视频缓存区的位置设置为视频缓存的零偏移处,这样显存中 0-256k的数据将被显示到屏幕上面。而8M的显存总共可以有32个256K,几可以有32个虚拟的或者说不可见的屏幕,在这些区域内写如数据是不回被显示到屏幕上的。

由于可以改变可见视频缓存区的起始位置,我们就可以将显示卡中多余的视频缓存当作虚拟屏幕来使用。将希望在下一帧显示的位图直接绘制在虚拟屏幕上面,当要显示的时候,直接改变可见视频缓存区的起始位置到虚拟屏幕的起始地址就可以了。也就是通常所说的页交换(Page Clip)。在DirectX里面就是着样实现的。

双缓冲则是另外一个不同的方法。它不改变可见视频缓存区起始地址,而是在内存或显存中开辟一块与屏幕一样大小的存储区域,作为缓冲屏幕,这和页交换是类似的。同样也是将下一帧要显示的图象绘制到这个缓冲屏幕上面,不同的是在显示的时候不是改变可见视频缓存区起始地址,而是将虚拟屏幕中的数据直接复制到可见视频缓存区里面去。由于图形绘制过程是在不可见的虚拟屏幕中进行,所以可以消除屏幕的闪烁。但由于要复制大量的数据,速度可能就会馒一些。不过双缓冲也有其优点,就是它可以保证实际屏幕与虚拟屏幕数据的一致性。而页交换技术则不行。

双缓冲中的缓冲屏幕一般都建立在内存中,而不是在视频缓存中。如果硬件提供显存到显存的读写操作,速度绝对比建立在内存中快,因为内存到显存的读写要经过系统总县。然而这种显存到显存的读写并没有写进VESA文挡,并不是一个标准的办法。如果硬件不支持显存到显存的读写操作,则可以先将显存中某一块区域的数据复制到内存,在从内存复制到显存中的另一块区域,将缓冲屏幕建立在显存中的麻烦是可想而知的。由于显存到显存的读写操作不是标准的操作,所以通常不将缓冲屏幕建立在显存中。

当然,由于存储容量越来越大,就可以定义实现多页面的也7交换技术和多缓冲技术。在双缓冲或多缓冲中,由于可以保证数据的一致性,如果再实现了一个高效率的Blt,则可以进一步实现更加高效率的脏矩形技术(Drity Rectangle),从而实现只对改变了的区域进行绘制,效率回更高。

如果仔细研究过VGA/SVGA系统的话应该能够理解双缓冲、页交换等概念。DirectX里面的一些技术的内部细节也能够想的清楚。DirectX中的DirectX实际上并不神秘,其内部细节也能够想清楚。

作者:陈凯

RockCarry工作室:http://rockcarry.126.com

2005.2.10

版权所有、不得转载

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有