1. OverviewThe following picture explains what the tiled backing Store is from a hierarchical perspective:
- Viewport View Port: Represents the area used to display Web page content. QT, in fact, is Qwidget.
- tiled backing store: can be seen as a buffer of off-screen pixmap. For scrolling, zooming, and smoothing, the area it covers is always larger than viewport.
- Covered Content: Represents the contents of a page that is covered by the tiled backing store. This section can be scaled if needed.
- Page content: Refers to the entire frame content rendered by WebKit.
Refer to Qtwebkittiling For more information on tiled backing store technology.
2. Tiled backing StoreThe following figure shows the relationship of Tiledbackingstore in Qtwebkit and tile, Tiledbackingstoreclient,frame:
2.1 Tilewhen you draw a Web page to a UI widget, the tile is the smallest drawing unit. Each tile is indexed by coordinates. The layout of the tile can be mapped to a 2-dimensional matrix. For example, the upper left can be indexed by (0,0), and so on.
Tiles can be set to be invalid. If the Webcore::frameview performs a layout operation, the invalid operation will be called. Invalid operation the only thing to do is to calculate the dirty areas caused by repainting, which are later drawn by the QT brush.
Tiles are double-buffered, which makes it possible to avoid flickering problems when drawing.
2 Pixmap buffers are maintained by tiles. In the current implementation of QT, all buffers are updated simultaneously, so there is no need for a separate front and back buffer (translator Note: No need for double buffering)
Tiled backing Store (i)