US8817054B1ActiveUtility

Methods and systems for rendering in a multi-process browser using a shared memory area

91
Assignee: FISHER DARINPriority: May 13, 2008Filed: May 12, 2009Granted: Aug 26, 2014
Est. expiryMay 13, 2028(~1.8 yrs left)· nominal 20-yr term from priority
G09G 5/346G06F 3/0485G06T 1/60
91
PatentIndex Score
13
Cited by
4
References
11
Claims

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-modified
What 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.