Methods and systems for rendering in a multi-process browser using a shared memory area
Abstract
Systems and methods for rendering web content in a browser are described herein. An embodiment includes a web rendering engine in a rendering engine process to generate one or more requests to selectively redraw one or more regions of content retrieved by a browser process. A renderview then generates a bitmap based on the requests and content retrieved by the browser process. The bitmap may then be stored by the renderview in a shared memory area where it may be accessed by a renderview host in the browser process. The renderview host may then provide the bitmap to a backing store associated with a display device for display to a user. In another embodiment, the shared memory area between the browser process and the rendering engine process may be used to achieve efficient scrolling of a web page through rate limited rendering of content.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A computer implemented method of rendering content in a browser comprising:
in a browser process, retrieving the content in the browser; and
in a rendering engine process:
(a) generating one or more requests corresponding to a displacement in the content in response to a user interaction with the browser process;
(b) aggregating the one or more generated requests selectively to generate one or more aggregated requests;
(c) transmitting the one or more aggregated requests at a rate controlled by an acknowledgement signal generated by the browser process;
(d) scrolling one or more regions of content based on the one or more transmitted aggregated requests; and
(e) redrawing one or more regions of content based on the one or more transmitted aggregated requests to update the content,
wherein at least one of steps (a)-(e) is implemented on one or more processors.
2. The method of claim 1 , wherein the scrolling of step (d) comprises:
shifting a first set of pixels corresponding to a region of content based on the one or more generated requests and the one or more aggregated requests, the first set of pixels being associated with a shared memory area shared by the rendering engine process and the browser process; and
updating one or more locations in the shared memory area associated with the first set of pixels with a second set of pixels.
3. The method of claim 1 , wherein the redrawing of step (e) comprises:
removing a third set of pixels from one or more locations in a shared memory area or more generated requests and the one or more aggregated requests, the shared memory area being shared by the rendering engine process and the browser process; and
placing a fourth set of pixels at, one or more locations in the shared memory area associated with the third set of pixels.
4. The method of claim 1 , wherein the generating of step (a) comprises generating a request comprising a displacement in a horizontal direction and a displacement in a vertical direction in the content based on the user interaction with the browser process.
5. The method of claim 1 , wherein the aggregating of step (b) comprises:
identifying a number of the one or more generated requests; and
identifying a region of content to be updated by the one or more, generated requests.
6. The method of claim 1 , further comprising:
in the browser process:
reading a bitmap from a shared memory area that is shared by the rendering engine process and the browser process, the bitmap being a group of one or more pixels representing updated content in response to the user interaction with the browser process; and
providing the bitmap to a backing store associated with a display device.
7. The method of claim 1 , wherein the one or more generated requests comprises one or more coordinates of a region of content to be redrawn based on the user interaction with the browser process.
8. The method of claim 1 , wherein the one or more generated requests comprises a horizontal displacement value and a vertical displacement value of the content in the browser based on the user inter action with the browser process.
9. The method of claim 1 , wherein the content is displaced based on an input generated in response to a user scrolling the content retrieved by the browser process.
10. A computer implemented method of rendering content in a browser comprising:
in a rendering engine process:
generating using one or more processors, one or more requests corresponding to a displacement in the content, the displacement being based on a user input corresponding to a user scrolling the content retrieved by a browser process;
generating an updated bitmap based on the one or more requests and the content retrieved by the browser process, the updated bitmap representing a rendered output of the updated content based on the user input; and
storing, in response to receiving an acknowledgement signal, the updated bitmap in a shared memory that is shared by the browser process and the rendering engine process; and
in the browser process:
providing the acknowledgement signal to the tendering engine process;
retrieving the updated bitmap from the shared memory after providing the acknowledgement signal; and
storing the updated bitmap in a backing store associated with a display device for display to a user,
wherein the rendering engine process and the browser process are run on independent threads.
11. The method of claim 10 , wherein a web page includes the displaced content, and the displaced content has been scrolled to a new portion of the web page based on the user input.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.