Incremental rendering

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Incremental rendering refers to a feature built into most modern Web browsers. Specifically, this refers to the browser's ability to display a partially downloaded Web page to the user while the browser awaits the remaining files from the server. The advantage to the user is a perceived improvement in responsiveness, both from the Web browser and from the web site.

The purpose of incremental rendering is similar to the purpose of the interlaced JPEG, which improves the presentation speed to the user by quickly displaying a low-resolution version of an image which improves to a high-resolution, rather than an image that slowly paints from top to bottom.

Without incremental rendering, a web browser must wait until the code for a page is fully loaded before it can present content to the user. Earlier web browsers offered something of a compromise - displaying the HTML page once the entire HTML file had been retrieved, and then inserting the images one-by-one as they were retrieved afterwards.

Although the utility of incremental rendering seems intuitively obvious, making it happen is something of an art as well as a science. The sequence in which the various elements of a Web page render is almost never strictly top-to-bottom. The programming that fills in the missing pieces must do a certain amount of guesswork to determine how to best display partial content. Images in particular are virtually always loaded following the HTML page, as the browser must consult the HTML file in order to know which images to request from the server - as the server doesn't present them automatically without the follow-up request. Web designers and web design software often include hints that assist with this process - for example, including the expected heights and widths of images in the HTML code so the browser may allocate the correct amount of screen space before the image is actually retrieved from the server.