A method in an electronic device of processing a structured document including at least a main region (810, 1000) and a subregion within the main region (810, 1000), the method comprising: creating a backing store (520, 610, 1200) for storing rendered content in memory of the electronic device, the backing store (520, 610, 1200) including an available pool of tiles for storing image data; rendering, as main rendered image data, at least a portion of the main region (810, 1000) associated with a first viewport; rendering, as second rendered image data, at least a portion of the subregion associated with a second viewport; allocating, from the available pool of tiles, a first subset of tiles for storing the main rendered image data and a second subset of tiles for storing the second rendered image data; storing the main rendered image data in the first subset of tiles; storing the second rendered image data in the second subset of tiles; outputting, to a display interface, viewable portions of selected tiles from the first subset of tiles and the second subset of tiles that are within the first viewport and the second viewport; in response to a change in either the first viewport or the second viewport, when it is determined that rendered image data required for the changed viewport is not stored in the subset of tiles corresponding to the changed viewport and a quantity of unused tiles in the available pool of tiles is insufficient to store the required rendered image data, deallocating, from an other subset of tiles, tiles storing rendered image data not currently being displayed in the other viewport; reallocating the deallocated tiles to the subset of tiles corresponding to the changed viewport; and storing the required rendered image data in the reallocated tiles; and outputting viewable portions of newly viewable tiles of the subset of tiles corresponding to the changed viewport. creating a backing store (520, 610, 1200) for storing rendered content in memory of the electronic device, the backing store (520, 610, 1200) including an available pool of tiles for storing image data; rendering, as main rendered image data, at least a portion of the main region (810, 1000) associated with a first viewport; rendering, as second rendered image data, at least a portion of the subregion associated with a second viewport; allocating, from the available pool of tiles, a first subset of tiles for storing the main rendered image data and a second subset of tiles for storing the second rendered image data; storing the main rendered image data in the first subset of tiles; storing the second rendered image data in the second subset of tiles; outputting, to a display interface, viewable portions of selected tiles from the first subset of tiles and the second subset of tiles that are within the first viewport and the second viewport; in response to a change in either the first viewport or the second viewport, when it is determined that rendered image data required for the changed viewport is not stored in the subset of tiles corresponding to the changed viewport and a quantity of unused tiles in the available pool of tiles is insufficient to store the required rendered image data, deallocating, from an other subset of tiles, tiles storing rendered image data not currently being displayed in the other viewport; reallocating the deallocated tiles to the subset of tiles corresponding to the changed viewport; and storing the required rendered image data in the reallocated tiles; and outputting viewable portions of newly viewable tiles of the subset of tiles when it is determined that rendered image data required for the changed viewport is not stored in the subset of tiles corresponding to the changed viewport and a quantity of unused tiles in the available pool of tiles is insufficient to store the required rendered image data, deallocating, from an other subset of tiles, tiles storing rendered image data not currently being displayed in the other viewport; reallocating the deallocated tiles to the subset of tiles corresponding to the changed viewport; and storing the required rendered image data in the reallocated tiles; and outputting viewable portions of newly viewable tiles of the subset of tiles deallocating, from an other subset of tiles, tiles storing rendered image data not currently being displayed in the other viewport; reallocating the deallocated tiles to the subset of tiles corresponding to the changed viewport; and storing the required rendered image data in the reallocated tiles; and outputting viewable portions of newly viewable tiles of the subset of tiles corresponding to the changed viewport.