什么是双缓冲,平滑地滚动页面的实现原理,ARGB8888 和ARGB1555
2015-04-01 18:28
351 查看
假如你的显示器是VGA模式,640×400,也就是虚拟的分辨率是640X800,也就是800线(每一行的数据,称为一条线,也就是640X1的数据了)。800线的数据存储于Framebuffer,而实际的显示内容,只是400线,Linux内核中的Framebuffer模型中,对应有个变量yoffset,就是表示的这个具体的纵坐标,默认是0,所以显示的内容就是,0-399线,由于和实际显示页面大小等同,所以此处可以简称为第一帧。如果yoffset改变了,比如此例中变为400,那就是显示剩余的部分,400-799线。此处简称为第二帧。在系统显示第一帧的时候,系统在后台悄悄地准备第二帧的数据,所以,等第一帧显示完成,多数时候,第二帧的数据也准备好了,就可以直接显示,同时系统又在准备接下来的一帧的数据,这样就可以大大提高显示效率。
在显示完第一帧数据的时候,也就是0-399线的时候,将yoffset设置为1,就可以显示1-400线的数据了,显示完成后,再设置yoffset为2,就显示2-401线的数据,这样,就可以一点点地,平滑地显示整个滚动画面了。其实也就是画面在垂直方向的滚动。其中yoffset的增加,可以使用定时器,各个一段时间,比如10us,增加1,系统自动会更新显示对应的内容,?......
ARGB8888
32位色,ARGB8888表示ARGB各代表8位,A表示透明度,当为ff时为非透明,RGB分别为红绿蓝,ff表示最浓。
ARGB1555
16位色 1 位表示 透明度, 只能显示两种状态,透明和非透明。
在显示完第一帧数据的时候,也就是0-399线的时候,将yoffset设置为1,就可以显示1-400线的数据了,显示完成后,再设置yoffset为2,就显示2-401线的数据,这样,就可以一点点地,平滑地显示整个滚动画面了。其实也就是画面在垂直方向的滚动。其中yoffset的增加,可以使用定时器,各个一段时间,比如10us,增加1,系统自动会更新显示对应的内容,?......
ARGB8888
32位色,ARGB8888表示ARGB各代表8位,A表示透明度,当为ff时为非透明,RGB分别为红绿蓝,ff表示最浓。
ARGB1555
16位色 1 位表示 透明度, 只能显示两种状态,透明和非透明。
相关文章推荐
- jQuery实现平滑滚动页面到指定锚点链接的方法
- JQuery 实现在同一页面锚点链接之间的平滑滚动
- ScrollTo:实现平滑滚动到页面指定位置
- jQuery实现平滑滚动页面到指定锚点链接的方法
- 原生Js页面滚动延迟加载图片实现原理及过程
- ScrollTo:实现平滑滚动到页面指定位置
- jQuery实现页面平滑滚动
- 用jquery实现平滑的页面滚动效果
- jquery实现网页的页面平滑滚动效果代码
- ScrollTo:实现平滑滚动到页面指定位置
- jquery实现页面内链接锚点跳转平滑滚动效果
- 不用锚点也可以平滑滚动到页面的指定位置实现代码
- 不用锚点也可以平滑滚动到页面的指定位置实现代码
- Taglib 原理和实现之什么是Taglib(转)
- 实现双击网页后页面自动向上滚动
- MicroSoft Live 和GOOGLE个性主页 页面元素可拖拽放置的实现原理
- 轻松实现内容的无缝平滑滚动
- .NET 1.1中预编译ASP.NET页面实现原理浅析 [1] 自动预编译机制浅析