码迷,mamicode.com
首页 > 其他好文 > 详细

Tiled Backing Store(一)

时间:2015-03-03 01:14:51      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:

1. 概述

下列图片从层次的角度解释了什么是Tiled Backing Store:

技术分享

  • viewport 视图端口:代表用来显示网页内容的区域。Qt里,实际上就是QWidget

  • Tiled backing store: 可以看作是off-screen的pixmap的缓冲区。为了滚动、缩放操作的平滑,它覆盖的区域总是比viewport要大。 

  • Covered content :代表被Tiled backing store覆盖的页面内容。如果需要,这部分内容可以缩放。

  • Page content:指的是Webkit渲染的整个frame 内容。
参考QtWebKitTiling可以获得更多的关于Tiled backing store技术方面的知识。

2. Tiled Backing Store

下面的图显示了TiledBackingStore在QtWebkit中和Tile, TiledBackingStoreClient,Frame的关系:

技术分享

2.1 Tile

在绘制网页到UI widget时,Tile是最小绘制单元。每个tile按坐标索引。Tile的布局可以映射为2维矩阵。例如左上可以用(0,0)来索引等等。

Tile可以设置为无效。如果WebCore::FrameView执行布局(layout)操作,无效操作将会被调用。无效操作唯一要做的事情就是去计算重绘引起的脏区域,这些脏区域以后被会Qt的画笔绘制。

tile采用双缓冲, 这使得在绘制时它可以避免闪烁等问题。

2个pixmap缓冲区都由tile维护。在目前Qt的实现里,所有的缓冲区被同时同步更新,因此并不需要独立的前后缓冲区(译者注:即不需要双缓冲)

Tiled Backing Store(一)

标签:

原文地址:http://blog.csdn.net/lichwei1983/article/details/44026515

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!